前一段时间在网上找了一下判断联系方式的正则表达式, 博主发现里面不是只写了手机的就是只写了电话的, 要么就是缺少手机号码段的, 本文是综合网上的诸多版本, 并添加最新的号码段(例如电信的177段)写就. 成果嘛, 就是以下内容. 想来绝对可以解决广大iOS猿媛们的需求了, 如果有需要更新的内容请评论我.

更新: 2017.06
更新: 2018.05.23 添加联通175,176号段 <最新更新>

+ (BOOL)validateContactNumber:(NSString *)mobileNum{/*** 手机号码* 移动:134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188* 联通:130,131,132,152,155,156,185,186* 电信:133,1349,153,180,189*/NSString * MOBILE = @"^1(3[0-9]|5[0-35-9]|8[025-9])\\d{8}$";/**10         * 中国移动:China Mobile11         * 134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,18812         */NSString * CM = @"^1(34[0-8]|(3[5-9]|5[017-9]|8[278])\\d)\\d{7}$";/**15         * 中国联通:China Unicom16         * 130,131,132,152,155,156,175,176,185,18617         */NSString * CU = @"^1(3[0-2]|5[256]|7[56]|8[56])\\d{8}$";/**20         * 中国电信:China Telecom21         * 133,1349,153,177,180,18922         */NSString * CT = @"^1((33|53|77|8[09])[0-9]|349)\\d{7}$";/**25         * 大陆地区固话及小灵通26         * 区号:010,020,021,022,023,024,025,027,028,02927         * 号码:七位或八位28         */NSString * PHS = @"^0(10|2[0-5789]|\\d{3})\\d{7,8}$";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];NSPredicate *regextestPHS = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", PHS];if(([regextestmobile evaluateWithObject:mobileNum] == YES)|| ([regextestcm evaluateWithObject:mobileNum] == YES)|| ([regextestct evaluateWithObject:mobileNum] == YES)|| ([regextestcu evaluateWithObject:mobileNum] == YES)|| ([regextestPHS evaluateWithObject:mobileNum] == YES)){return YES;}else{return NO;}
}

注意: 纯粹只验证手机号码的话用下面这个, 相比于上面那个去掉了验证固话的谓词.

+ (BOOL)validateCellPhoneNumber:(NSString *)cellNum{/*** 手机号码* 移动:134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188* 联通:130,131,132,152,155,156,185,186* 电信:133,1349,153,180,189*/NSString * MOBILE = @"^1(3[0-9]|5[0-35-9]|8[025-9])\\d{8}$";/**10         * 中国移动:China Mobile11         * 134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,18812         */NSString * CM = @"^1(34[0-8]|(3[5-9]|5[017-9]|8[278])\\d)\\d{7}$";/**15         * 中国联通:China Unicom16         * 130,131,132,152,155,156,175,176,185,18617         */NSString * CU = @"^1(3[0-2]|5[256]|7[56]|8[56])\\d{8}$";/**20         * 中国电信:China Telecom21         * 133,1349,153,177,180,18922         */NSString * CT = @"^1((33|53|77|8[09])[0-9]|349)\\d{7}$";/**25         * 大陆地区固话及小灵通26         * 区号:010,020,021,022,023,024,025,027,028,02927         * 号码:七位或八位28         */// NSString * PHS = @"^0(10|2[0-5789]|\\d{3})\\d{7,8}$";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];// NSPredicate *regextestPHS = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", PHS];if(([regextestmobile evaluateWithObject:cellNum] == YES)|| ([regextestcm evaluateWithObject:cellNum] == YES)|| ([regextestct evaluateWithObject:cellNum] == YES)|| ([regextestcu evaluateWithObject:cellNum] == YES)){return YES;}else{return NO;}
}

iOS最新验证电话号码与手机号码的正则方法相关推荐

  1. c#最新验证是否电话号码和手机号码

    //最新是否电话号码和手机号码          public static bool IsPhoneNo(string str_handset)         {             retu ...

  2. php 固定电话正则,php中固定电话号码和手机号码正则表达式验证

    086-区号-号码-分机 ^086-[1-9][0-9]{1,4}-[1-9][0-9]{4,7}-[0-9]{3,4}$ 2G的手机号差不多都是13开头 代码如下 $mobilephone=trim ...

  3. php中电话号码输入框,php中固定电话号码和手机号码正则表达式验证

    086-区号-号码-分机 ^086-[1-9][0-9]{1,4}-[1-9][0-9]{4,7}-[0-9]{3,4}$ 2G的手机号差不多都是13开头  代码如下 $mobilephone=tri ...

  4. php验证固定电话,php验证手机号_php中固定电话号码和手机号码正则表达式验证...

    摘要 腾兴网为您分享:php中固定电话号码和手机号码正则表达式验证,智影,优衣库,熊猫视频,万科物业等软件知识,以及万得股票,礼包,dwg转dwf,软件打包工具,蜜桃儿,翻译米,是的没错表情包,上古卷 ...

  5. php验证电话号码是否合法,js代码验证手机号码和电话号码是否合法_javascript技巧...

    function Checkreg(){ //验证电话号码手机号码,包含 , 号段 if(document.form.phone.value==""&&docume ...

  6. iOS双重验证设备无法接收验证码,更新手机号。

    iOS双重验证设备无法接收验证码,如何更新手机号? 现在苹果在加入双重验证后,必须需要手机号或者登录设备来进行辅助验证.无法接收验证码就导致我们无法正常登录到App Store Connect,今天分 ...

  7. js验证电话号码(包括手机,固定电话,带区号,不带区号))

    函数名称:IsTelephone 函数功能:固话,手机号码检查函数,合法返回true,反之,返回false 函数参数:obj,待检查的号码 检查规则: (1)电话号码由数字."(" ...

  8. Java验证邮箱和手机号码正则表达式

    Java验证邮箱和手机号码: import java.util.regex.Matcher; import java.util.regex.Pattern; /**邮箱正则表达式*/ public f ...

  9. iOS最新申请DUNS(邓白氏)详细过程,iOS开发者申请DUNS(邓白氏)相关细节,申请DUNS(邓白氏)的方法...

    iOS最新申请DUNS(邓白氏)详细过程,iOS开发者申请DUNS(邓白氏)相关细节,申请DUNS(邓白氏)的方法 申请时间:2018年12月12日-10:56:复制代码 第一步: 非常重要-仔细查看 ...

  10. 1.22 实例:正则表达式验证电话号码

    在注册会员时,经常需要输入电话号码,电话号码是指手机号码或者固定电话.如果输入的内容不合法,则会向用户输出提示.本实例模拟实现电话号码的验证功能,接收用户在控制台输入的电话号码,然后进行判断,并将结果 ...

最新文章

  1. Linux 还能这么玩,10 个非常有趣的命令!
  2. 【机器视觉】 dev_set_window_extents算子
  3. 下载视频的一种简便方法
  4. Windows消息机制详解-6
  5. 如何使用jmeter进行并发登录测试
  6. 对比分析HashMap,HashTable,ConcurrentHashMap,LinkedHashMap,LURLinkedHashMap(一)
  7. 安卓应用安全指南 4.6.3 处理文件 高级话题
  8. mysql启用keepalive_mysql主从之keepalive+MySQL高可用
  9. JUnit5 @AfterEach注解示例
  10. 放生大海的鱼,为什么要在鱼肚子上捅一个洞?
  11. javascript 总结(常用工具类的封装,转)
  12. lr 远程压力机部署安装
  13. 星云链智能合约开发(六):智能合约开发与部署
  14. Unity4.3 2D新特性
  15. 5月第3周回顾:08软考举行 中国遭大范围SQL注入***
  16. Could not find modernizr-2.6.2 in any of the sources
  17. 在线小说网站的设计与实现(附源码)
  18. m选n组合的两种算法(C语言实现)
  19. 发票查验API可以查验的发票类型有哪些?
  20. iOS指纹识别(解锁)

热门文章

  1. Magpie: 基于React的炫酷的滚动抽奖程序
  2. 项目功能介绍 非常有用
  3. Myeclipse.ini 配置
  4. 《Linux命令行与shell脚本编程大全》 第一、二章 学习笔记
  5. SSL Pining Mode 设置iOS SSL 连接安全
  6. 《Linux内核设计与实现》学习笔记之“Linux进程管理机制”
  7. CSS的inherit与auto使用分析
  8. TMG自动发现功能配置正常,但客户端却检测不到TMG服务器。
  9. inDesign教程,如何创建交互式简历?
  10. 如何使用 Numbers 筛选出特定种类的资料?