当前位置:编程问答 > JS >

几个验证11位手机号码格式的js代码

js判断手机号码  

<script language="javascript">
function checkform()
{
   if(document.form1.mobile.value.length!=11)
   {  
    //验证手机号为11位
    alert("您的手机号不正确哦!")
    document.form1.mobile.focus();
    return false;
   }
   var mobile=document.form1.mobile.value;
   var reg0=/^13\d{5,9}$/; //130--139。至少7位
   var reg1=/^15\d{5,9}$/; //15至少7位
   var reg2=/^18\d{5,9}$/; //18
  
   var my=false;
   if (reg0.test(mobile))my=true;
   if (reg1.test(mobile))my=true;
   if (reg2.test(mobile))my=true;
  
   if (!my){
    alert("您的手机号不正确哦")
    document.form1.mobile.focus();
    return false;
   }
}

</script>
      <form name="form1" method="post" action="" onsubmit="return checkform()">

手机:<input type="text" id="mobile" name="mobile" maxLength=11 size=30/>    
<br>
<input type="submit" id="submit" name="submit" value="提交" >
</form>



用js正则表达式判断手机号码是否正确


<html>
<head>
  <title>js正则表达式</title>
</head>
<body>
  <script LANGUAGE="javascript">
    //匹配固定电话或小灵通,例如:031185907468或02185907468格式
    function isphone1(){
     var num = document.getElementById('ph').value;
     var partten = /^0(([1-9]d)|([3-9]d{2}))d{8}$/;
     if(partten.test(num)){
      alert('是电话号码');
     }else{
      alert('不是电话号码');
     }
    }
    function isphone2(){
     var num = document.getElementById('mb').value;
     var partten = /^1[3,5]d{9}$/;
     if(partten.test(num)){
      alert('是手机号码');
     }else{
      alert('不是手机号码');
     }
    }
  </script>
   请输入固定电话或小灵通号码:<input type="text" name="phone" id="ph"><input type="button" value="测试" onclick="isphone1();">
   请输入手机号码:<input type="text" name="phone" id="mb"><input type="button" value="测试" onclick="isphone2();">
</body>
</html>



JS判断手机号是否正确(正则表达式)作者:蜀山奇侠
/^13d{9}$/g||/^15[8,9]d{8}$/g

其中 ^ 是以什么开头的意思, $ 是以什么结尾的意思,d 匹配是任意一位数字,后面跟着的{9}是指d重复的次数,相当于dddddddd这个正则表达式匹配的是以13开头和以任意9个数字结尾的字串, / 是正则表达式的分界符,后面跟着的 g 呢,是对指定的字串全局匹配(不加则只匹配第一个),事实上有这个 g 和没有 g 在这里的情况是一样的,test方法返回一个 Boolean 值,它指出在被查找的字符串中是否存在模式,如存在则返回 true,否则返回 false。
g表示全局,全部,也就是文本内所有符合条件的,没有这个g的话,只匹配一次。
.test(),是前面那个/^....$/g,也就是正则表达式的一个方法。
 

下面是一段完整的监测代码,供大家参考:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script language="javascript">
function chk()
{
var tel = document.all("text").value;

if(/^13d{9}$/g.test(tel)||(/^15[8,9]d{8}$/g.test(tel)))
        {
           alert("手机号正确");
         }
else
        {
           alert("手机号错误");
         }
}
</script>

</HEAD>

<BODY>
<form method="" action="">
手机号:<input type="text" name="text">
 <input type="button" value="检测" onclick="chk()">
</form>
</BODY>
</HTML>
 
验证中国固定电话号码:((d{3,4})|d{3,4}-|s)?d{8}



//JS正则表达式判断手机号与电子邮件有效性  
  
if(form.mobile.value==""){  
  
    alert("手机号码不能为空");   
  
   form.mobile.focus();   
  
   return false;  
  
}else{  
  
    reg=/^13/d{9}$/gi;  
  
    if(!reg.test(form.mobile.value)){  
  
        alert("非法的手机号码");  
  
        form.mobile.focus();   
  
       return false;      
  
}  
  
}  
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,