tznktg 发表于 2007-10-6 11:25:42

JS验证电话号码

JAVAscript函数
在这里只能入数字和()-+四个字符,这样对输入的电话号码起到了一定的检查.
请输入电话号码:

在<head>...</head>之间加入如下代码:
<script LANGUAGE="javascript">
<!--
function check()
{
if (document.form.tell.value==""){
alert("??入???瘁!");
document.form.tell.focus();
return false;
}
else{
var Letters = "0123456789()+-";
for (i=0; i< document.form.tell.value.length; i++){
var CheckChar = document.form.tell.value.charAt(i);
if (Letters.indexOf(CheckChar) == -1){
alert("???瘁格式不正催!");
document.form.tell.focus();
return false;
}
}
}
}
//-->
</script>
在<body>...</body>之间的表单.
<form method="POST" name=form action="" onSubmit="return check();">
<p align="center">
请输入电话号码:<input type="text" name="tell" size="20">
<input type="submit" value="提交" name="B1"></p>
</form>

tznktg 发表于 2007-10-6 11:25:53

function Checkreg()
{
//验证电话号码手机号码,包含153,159号段
    if (document.form.phone.value=="" && document.form.UserMobile.value==""){
      alert("电话号码和手机号码至少选填一个阿!");
      document.form.phone.focus();
      return false;
      }
    if (document.form.phone.value != ""){
      var phone=document.form.phone.value;
      var p1 = /^((\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/;
      var me = false;
      if (p1.test(phone))me=true;
      if (!me){
            document.form.phone.value='';
            alert('对不起,您输入的电话号码有错误。区号和电话号码之间请用-分割');
            document.form.phone.focus();
            return false;
      }
    }
    if (document.form.UserMobile.value != ""){
      var mobile=document.form.UserMobile.value;
      var reg0 = /^13\d{5,9}$/;
      var reg1 = /^153\d{4,8}$/;
      var reg2 = /^159\d{4,8}$/;
      var reg3 = /^0\d{10,11}$/;
      var my = false;
      if (reg0.test(mobile))my=true;
      if (reg1.test(mobile))my=true;
      if (reg2.test(mobile))my=true;
      if (reg3.test(mobile))my=true;
      if (!my){
            document.form.UserMobile.value='';
            alert('对不起,您输入的手机或小灵通号码有错误。');
            document.form.UserMobile.focus();
            return false;
      }
      return true;
    }
}
说明
test方法检查在字符串中是否存在一个模式,如果存在则返回 true,否则就返回 false。

正则表达式部分:
\d 代表一个数字
{7,8} 代表7-8位数字(表示电话号码)
{3,} 代表分机号码
d{2,3} 代表区号
\+]\d{2,3} 代表国际区号
^13\d{5,9}$/ //130?139。至少5位,最多9位
/^153\d{4,8}$/ //联通153。至少4位,最多8位
/^159\d{4,8}$/ //移动159。至少4位,最多8位
页: [1]
查看完整版本: JS验证电话号码

网站推广