javascript正则表达式验证手机号码/电话号码

随着手机号码段的不断增加,以前网上的手机号码验证函数都不能那么完美的支持了,

一个简单的正则与手机验证的函数分析。

function checkMobile(sMobile){
if(!(/^1[3|4|5|7|8][0-9]\d{8}$/.test(sMobile))){
//alert("不是完整的11位手机号或者正确的手机号前七位");
return false;
}
return true;
}
console.log(checkMobile(17816812345));//true
console.log(checkMobile(138778899));//false
console.log(checkMobile(13877889923));//true

另外一种手机号码的写法

这是根据电信,移动,联通目前发行的号码来的。验证比较精确。

^1[3|4|5|7|8][0-9]{9}$

其实中间也可以不用一直或者的;比如下面

/^1[34578]\d{9}$/

原文链接:http://caibaojian.com/regexp-example.html

下面简单的解释一下:·

^1(3|4|5|7|8)\d{9}$

表示以1开头,第二位可能是3/4/5/7/8等的任意一个,在加上后面的\d表示数字[0-9]的9位,总共加起来11位结束。

如果因为现有的号码不能满足市场需求,电信服务商会增大号码范围。所以一般情况下我们只要验证手机号码为11位,且以1开头。

^1[0-9]{10}$
function 
 checkMobile(str) {
    var 
 re = /^1\d{10}$/
    if (re.test(str)) {
        alert("正确");
    } else {
        alert("错误");
    }
}
checkMobile('13800138000'); //调用
checkMobile('139888888889');//错误示例

验证电话号码

验证规则:区号+号码,区号以0开头,3位或4位
号码由7位或8位数字组成
区号与号码之间可以无连接符,也可以“-”连接
如01088888888,010-88888888,0955-7777777

function
 checkPhone(str){
    var
 re = /^0\d{2,3}-?\d{7,8}$/;
    if(re.test(str)){
        alert("正确");
    }else{
        alert("错误");
    }
}
checkPhone("09557777777");//调用
function checkTel(){
var tel = document.getElementById('tel').value;
if(!/^(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}$/.test(tel)){
alert('固定电话有误,请重填');
return false;
}
}
提取信息中的中国电话号码(包括移动和固定电话):(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}

~~

未经允许不得转载:WEB前端开发 » javascript正则表达式验证手机号码/电话号码

赞 (0)