当前位置: 代码迷 >> Web前端 >> 应验电话号码的正则表达式
  详细解决方案

应验电话号码的正则表达式

热度:159   发布时间:2012-12-27 10:17:10.0
验证电话号码的正则表达式

1,这种是比较简单的验证号码:

电话号码只能包含”(“、“)”、“-”和数字

<input   type=text   onkeyup="value=value.replace(/[^\0-9.-]/g,'');">   也适合TextBox

2.这种是有点复杂的:

下面的区号3-4位,电话号码7-8位,只能包含”(“、“)”、“-”和数字  
  <script   language="javascript">  
  var   str   =   "(010)68836694";  
  var   reg   =/^(\({0,1}\d{3,4})\){0,1}(-){0,1}(\d{7,8})$/;  
  alert(reg.test(str));  
  </script>

3.这种是相当复杂的:

 要求:  
    (1)电话号码由数字、"("、")"和"-"构成  
    (2)电话号码为3到8位  
    (3)如果电话号码中包含有区号,那么区号为三位或四位  
    (4)区号用"("、")"或"-"和其他部分隔开  
    (5)移动电话号码为11或12位,如果为12位,那么第一位为0  
    (6)11位移动电话号码的第一位和第二位为"13"  
    (7)12位移动电话号码的第二位和第三位为"13"  
    根据这几条规则,可以与出以下正则表达式:  
    (^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)  
   
   
  <script   language="javascript">  
  function   PhoneCheck(s)   {  
  var   str=s;  
  var   reg=/(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/  
  alert(reg.test(str));  
  }  
  </script>  
  <input   type=text   name="iphone">  
  <input   type=button   onclick="PhoneCheck(document.all.iphone.value)"   value="Check">