• JS手机号码正则


    在我们平时开发过程中,常常要判断一个手机号码。如果前端提前判断手机号码是否正确,就可以减少后段请求,节省宽带资源。

    我们得先了解手机号码的规则「来自百度百科」:

    中国电信号段:133、149、153、173、177、180、181、189、191、199

    中国联通号段:130、131、132、145、155、156、166、171、175、176、185、186

    中国移动号段:134(0-8)、135、136、137、138、139、147、150、151、152、157、158、159、172、178、182、183、184、187、188、198

    其他号段:14号段以前为上网卡专属号段,如中国联通的是145,中国移动的是147等等。

    虚拟运营商

    电信:1700、1701、1702、162

    移动:1703、1705、1706、165

    联通:1704、1707、1708、1709、171、167

    卫星通信:1349

    1. 首先,手机号码只能是整数。我们可以这样判断:
    2. function isMobile (mobile) {  
    3.   return /\d+/.test(mobile)
    4. }
    5. 然后手机号码必须以数字为开头,数字结尾,写法可以升级下:
    6. function isMobile (mobile) {  
    7.   return /^\d+$/.test(mobile)
    8. }
    9. 上面这个正则只能做简单判断,我们知道所有的手机号码都是以 1 开头的,写法可以再升级下:
    10. function isMobile (mobile) {  
    11.   return /^1\d+$/.test(mobile)
    12. }
    13. 另外手机号码都是 11 个数字:
    14. function isMobile (mobile) {  
    15.   return /^1\d{10}$/.test(mobile)
    16. }
    17. **手机号码的第二位是 39 的数字 所以最后:**
    18. function isMobile (mobile) {  
    19.   return /^1[3-9]\d{9}$/.test(mobile)
    20. }

  • 相关阅读:
    Unity中集合的随机数(指定长度—List、Dictionary)
    RustDay04------Exercise[11-20]
    Java基础 多线程
    AWTK 与 Qt 的异同点比较
    获取淘宝商品评论API接口调用示例(含请求代码)
    什么是GPT-4
    deb包格式实例详解
    面试常问:HTTP 1.0 和 HTTP 1.1 有什么区别?
    Docker简介与为什么要用Docker?
    成功解决ImportError: cannot import name ‘PILLOW_VERSION‘
  • 原文地址:https://blog.csdn.net/vipzyj/article/details/126032012