欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

最新JS验证手机号码(2021)

程序员文章站 2022-04-04 08:13:41
...

现在手机号码,为什么没有10、11、12开头的手机号码?

10开头的号段是电信服务号码,比如10000电信客服电话,10001联通客服电话,10086移动客服电话;
11开头的号段是特种服务号码,比如110报警电话、111电信内部测试电话、112报修电话、114便民电话、119火警电话等;
12开头的号段是民用特殊号码,比如120急救电话、121天气预报电话、122交通事故告警电话、12312保护知识产权举报电话、12315消费投诉热线等

根据移动、联通、电信的电话号码号段,实现一个简单的正则表达式来验证手机号码:

/*
  * 移动号码包括的号段:134/135/136/137,138,139;
*                     147/148(物联卡号);
*                     150/151/152/157/158/159;
*                     165(虚拟运营商);
*                     1703/1705/1706(虚拟运营商)、178;
*                     182/183/184/187/188
*                     198

* 联通号段包括:130/131
*               145
*               155/156
*               166/167(虚拟运营商)
*               1704/1707/1708/1709、171
*               186/186
*
* 电信号段包括: 133
*                153
*                162(虚拟运营商)
*                1700/1701/1702(虚拟运营商)
*                180/181/189
*                191/199
* */

代码如下:

方法一:

function checkPhone(){ 
    var phone = $(".phone").val();
    if(!(/^1[3456789]\d{9}$/.test(phone))){ 
        alert("手机号码不合法,请重新输入");  
        return false; 
    } 
}

方法二:

function checkPhone(){ 
    var phone = $(".phone").val();
    if(!(/^1(3|4|5|6|7|8|9)\d{9}$/.test(phone))){ 
        alert("手机号码不合法,请重新输入");  
        return false; 
    } 
}