js验证电话号码的正则表达式
在做程序时遇到js验证电话号码的问题,使用正则表达式来操作很简单的。一起来看一下吧。
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">
本文地址:http://www.blogiso.com/html/ajaxquery/javascript/1501.html