读书人

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

发布时间: 2012-12-27 10:17:10 作者: rapoo

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

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">

读书人网 >Web前端

热点推荐