如果不及时更新手机号判断正则可能会造成运营商新获得的号段无法通过验证,下面就是新的正则验证方法:

+ (BOOL)checkUserTelNumber:(NSString *)telNumber {if (telNumber.length != 11) {return NO;}/*** 手机号码:* 13[0-9], 14[5,7], 15[0, 1, 2, 3, 5, 6, 7, 8, 9], 17[6, 7, 8], 18[0-9], 170[0-9]* 移动号段: 134,135,136,137,138,139,150,151,152,157,158,159,182,183,184,187,188,147,178,1705* 联通号段: 130,131,132,155,156,185,186,145,176,1709* 电信号段: 133,153,180,181,189,177,1700* 2017年8月,中国电信获得199号段,中国移动得到198号段,中国联通得到166号段。*/NSString *MOBILE = @"^1(3[0-9]|4[57]|5[0-35-9]|6[6]|8[0-9]|9[89]|7[0678])\\d{8}$";/*** 中国移动:China Mobile* 134,135,136,137,138,139,150,151,152,157,158,159,182,183,184,187,188,147,178,1705* 2017年8月,中国移动得到198号段*/NSString *CM = @"(^1(3[4-9]|4[7]|5[0-27-9]|7[8]|8[2-478]|9[8])\\d{8}$)|(^1705\\d{7}$)";/*** 中国联通:China Unicom* 130,131,132,155,156,185,186,145,176,1709* 2017年8月,中国联通得到166号段*/NSString *CU = @"(^1(3[0-2]|4[5]|5[56]|6[6]|7[6]|8[56])\\d{8}$)|(^1709\\d{7}$)";/*** 中国电信:China Telecom* 133,153,180,181,189,177,1700* 2017年8月,中国电信获得199号段*/NSString *CT = @"(^1(33|53|77|99|8[019])\\d{8}$)|(^1700\\d{7}$)";NSPredicate *regextestmobile = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", MOBILE];NSPredicate *regextestcm = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CM];NSPredicate *regextestcu = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CU];NSPredicate *regextestct = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CT];BOOL res1 = [regextestmobile evaluateWithObject:telNumber];BOOL res2 = [regextestcm evaluateWithObject:telNumber];BOOL res3 = [regextestcu evaluateWithObject:telNumber];BOOL res4 = [regextestct evaluateWithObject:telNumber];if (res1 || res2 || res3 || res4 ) {return YES;} else {return NO;}
}

手机号正则判断最新版 包含199、198、166开头的号码相关推荐

  1. Android最新手机号正则判断(含最新166/198/199开头的手机号)

    Android最新手机号正则判断(含最新166/198/199开头的手机号) /*** 匹配手机号的规则:[3578]是手机号第二位可能出现的数字*/ public static final Stri ...

  2. 三大运营商(联通、电信、移动)的手机号正则判断

    三大运营商(联通.电信.移动)的手机号正则判断 checkMobile(telphone){ let isChinaMobile = /^134[0-8]\d{7}$|^(?:13[5-9]|147| ...

  3. js正则验证人名,包含· | 手机号正则验证(199)

    姓名验证(包含中间带点格式 ): /^[\u4E00-\u9FA5\uf900-\ufa2d·s]{2,20}$/ 手机格式验证(199.移动198.联通166号): /^(13[0-9]|14[5- ...

  4. Python手机号合法性判断(列表和正则)

    Python手机号合法性判断(列表和正则) 注意:这里不对地区编码(第4-7位)和用户号码(第8-11位)进行合法性判断! 需要进行哪些判断: 1. 号码是否为11位 2. 号码是否全为数字 3. 号 ...

  5. 最新手机号、身份证号、邮箱的正则判断

    前言 一般表单页面都需要填写手机号,校验用户输入的手机号码是否正确,就要用到正则表达式,用正则表达式来匹配手机号段,如在运营商号段内,则号码正确.因此,需要知道运营商最新的号段,如下所示: 各大运营商 ...

  6. C#正则判断手机号 邮箱 网址 日期 IP 身份证等

    C#正则判断手机号 邮箱 网址 日期 IP 身份证等: /*********************************************************************** ...

  7. 校验手机号正则,支持166及199等手机号

    现在有166及199的手机号了,以前网上找的正则不能用啦,给出个示范的正则,以后有变动可以直接在这个基础上修改 手机号正则:暂支持13,14,15,16,17,18,19开头的手机号 /^[1][3, ...

  8. java电话号码开头_JS使用正则验证手机号包含400和800开头号码

    正则表达式,又称正规表示法.常规表示法(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念.正则表达式使用单个字符串来描述.匹配一系列符 ...

  9. 手机号以及区号的正则判断方法

    1:在上方定义正则判断,或者是写在正则校验规则中(这边让代码看的不乱就在上方定义了) const mobileReg = /^(([1][3,4,5,7,8,9]\d{9})|([0]\d{10,11 ...

最新文章

  1. 杭电acm1004java答案_水过杭电OJ hdu1004
  2. 回溯法+奇偶剪枝——Hdu 1010 Tempter of the Bone
  3. java获取当前系统时间毫秒_java 获取当前系统时间简写 | 学步园
  4. 无比震荡 Fedora Linux把密码输出都落实起来
  5. (转)性能分析之-- JAVA Thread Dump 分析综述
  6. python列表姓氏_python数据分析实例(六) 中国姓氏数据
  7. 从运维角度浅谈MySQL数据库优化,中小企业DBA必会
  8. 培训机构破产了,“我还要还贷到2028年”
  9. 回顾2006年:网络通信十大事件
  10. linux系统软件包下载
  11. 财务风险分析从哪几个角度进行分析
  12. DCT算法的原理和优化
  13. 云计算 概念 是什么
  14. 深度解析javaScript常见数据类型检查校验
  15. HTML5网页设计成品_中华传统文化网页题材_诗词网页4页_web课程设计网页制作
  16. linux配置防火墙和重启防火墙
  17. C++ define的用法
  18. Cesium中Primitive与Entity详细介绍
  19. DedeCMS采集功能
  20. 无领导小组讨论中常见的派别

热门文章

  1. 数字签名标准(DSS)
  2. 拼多多发布“双打行动”说明:已下架商品近430万件
  3. 实现NFS HA共享目录
  4. 老罗(www.luocong.com)
  5. 能力配不上位置,管理只能“累死”
  6. PyTorch 11—简单图像定位
  7. 理解ConstraintLayout性能上的好处(转载,仅供学习)
  8. ICLR2022系列解读之二:基于自适应邻居发现的人脸聚类的方法 Ada-NETS
  9. 制作一个简单HTML游戏网页(HTML+CSS)_英雄联盟 lol 7页
  10. win10计算机管理的作用,原来Windows 10还有这么多隐藏的功能