js验证电话号码(包括手机,固定电话,带区号,不带区号))

JavaScript018

js验证电话号码(包括手机,固定电话,带区号,不带区号)),第1张

javascript可以使用正则表达式来验证电话号码。

以下是使用正则表达式来验证电话号码是手机号码,座机号码和区分是否带区号:

function Phone(val)

{var isMobilePhone = /^([0-9]{3,4}-)?[0-9]{7,8}$/

var isFixMob= /^0?1[3|4|5|8][0-9]\d{8}$/

if(isFixMob.test(val)||isMobilePhone.test(val))

{return true}else{return false}}

if (Phone(myForm.Phone.value) == false)

{layer.alert('联系电话格式错误')myForm.Phone.focus()return false}

扩展资料:

正则表达式应用——实例应用

1.验证用户名和密码:("^[a-zA-Z]\w{5,15}$")正确格式:"[A-Z][a-z]_[0-9]"组成,并且第一个字必须为字母6~16位;

2.验证电话号码:("^(\d{3,4}-)\d{7,8}$")正确格式:xxx/xxxx-xxxxxxx/xxxxxxxx;

3.验证手机号码:"^1[3|4|5|7|8][0-9]{9}$";

4.验证身份证号(15位):"\d{14}[[0-9],0-9xX]",(18位):"\d{17}(\d|X|x)";

5.验证Email地址:("^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$");

6.只能输入由数字和26个英文字母组成的字符串:("^[A-Za-z0-9]+$");

7.整数或者小数:^[0-9]+([.][0-9]+){0,1}$

8.只能输入数字:"^[0-9]*$"。

9.只能输入n位的数字:"^\d{n}$"。

10.只能输入至少n位的数字:"^\d{n,}$"。

11.只能输入m~n位的数字:"^\d{m,n}$"。

12.只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"。

13.只能输入有两位小数的正实数:"^[0-9]+(\.[0-9]{2})?$"。

14.只能输入有1~3位小数的正实数:"^[0-9]+(\.[0-9]{1,3})?$"。

15.只能输入非零的正整数:"^\+?[1-9][0-9]*$"。

参考资料:百度百科:正则表达

使用JS验证手机号可以使用正则表达式:

正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表通常被用来检索、替换那些符合某个模式(规则)的文本。

JS中的正则函数:

RegExp()

RegExp 对象用于规定在文本中检索的内容。

match()

match 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。

匹配手机号码的正则表达式:

^((\d{11})|^((\d{7,8})|(\d{4}|\d{3})-(\d{7,8})|(\d{4}|\d{3})-(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1})|(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1}))$)$

构建子函数:

function IsTel(Tel){

var re=new RegExp(/^((\d{11})|^((\d{7,8})|(\d{4}|\d{3})-(\d{7,8})|(\d{4}|\d{3})-(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1})|(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1}))$)$/)

var retu=Tel.match(re)

if(retu){

return true

}else{

return false

}

}

调用方法:IsTel(手机号码)

如果是正确的手机号返回true否则返回false

function checkMobile(){

var sMobile = document.mobileform.mobile.value

if(!(/^1[3|4|5|8][0-9]\d{4,8}$/.test(sMobile))){

alert("不是完整的11位手机号或者正确的手机号前七位")

document.mobileform.mobile.focus()

return false

}

}

根据国际电信联盟的规定,国际电话的拨打规则是:拨出地国际冠码+接受国家代码+区号+电话号码,用手机拨打的话,就不需要输入国际冠码了,因为可以用“+”替代。

中国的国际冠码是00、国家代码是86,美国分别是011和1。