美文网首页
说说手机号码正则表达式

说说手机号码正则表达式

作者: 我是Mr小赵先生 | 来源:发表于2016-11-23 11:38 被阅读702次

    最近做一个项目需要手机号码验证,最坑的还需要通过手机号码查询出手机属于哪家运营商。一开始想的是找市面上的手机号码查询接口,但是考虑到成本和可使用性问题(部分接口可能会收费,接口调用的多了可能会封ip等)觉定还是用正则表达式来完成这一工作。

    具体的js代码或者其它编程语言怎么写就不一一讲解了,具体的正则表达式如下

    1、移动

    目前的号码段有如下:

    134,135,136,137,138,139,147,150,151,152,157,158,159,170,178,182,183,184,187,188

    正则:^1(3[4-9]|4[7]|5[0-27-9]|7[08]|8[2-478])\\d{8}$

    2、联通

    目前的号码段如下:

    130,131,132,145,155,156,170,171,175,176,185,186

    正则:^1(3[0-2]|4[5]|5[56]|7[0156]|8[56])\\d{8}$

    3、电信

    目前的号码段如下:

    133,149,153,170,173,177,180,181,189

    正则:^1(3[3]|4[9]|53|7[037]|8[019])\\d{8}$

    4、不区分运营商的正则

    正则:1(3[0-9]|4[57]|5[0-35-9]|7[0135678]|8[0-9])\\d{8}$(比较精准的验证)

    正则:^1[3|4|5|7|8][0-9]\d{8}$(比较大条的验证)

    相关文章

      网友评论

          本文标题:说说手机号码正则表达式

          本文链接:https://www.haomeiwen.com/subject/bztvpttx.html