iOS最新验证电话号码与手机号码的正则方法
前一段时间在网上找了一下判断联系方式的正则表达式, 博主发现里面不是只写了手机的就是只写了电话的, 要么就是缺少手机号码段的, 本文是综合网上的诸多版本, 并添加最新的号码段(例如电信的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最新验证电话号码与手机号码的正则方法相关推荐
- c#最新验证是否电话号码和手机号码
//最新是否电话号码和手机号码 public static bool IsPhoneNo(string str_handset) { retu ...
- php 固定电话正则,php中固定电话号码和手机号码正则表达式验证
086-区号-号码-分机 ^086-[1-9][0-9]{1,4}-[1-9][0-9]{4,7}-[0-9]{3,4}$ 2G的手机号差不多都是13开头 代码如下 $mobilephone=trim ...
- php中电话号码输入框,php中固定电话号码和手机号码正则表达式验证
086-区号-号码-分机 ^086-[1-9][0-9]{1,4}-[1-9][0-9]{4,7}-[0-9]{3,4}$ 2G的手机号差不多都是13开头 代码如下 $mobilephone=tri ...
- php验证固定电话,php验证手机号_php中固定电话号码和手机号码正则表达式验证...
摘要 腾兴网为您分享:php中固定电话号码和手机号码正则表达式验证,智影,优衣库,熊猫视频,万科物业等软件知识,以及万得股票,礼包,dwg转dwf,软件打包工具,蜜桃儿,翻译米,是的没错表情包,上古卷 ...
- php验证电话号码是否合法,js代码验证手机号码和电话号码是否合法_javascript技巧...
function Checkreg(){ //验证电话号码手机号码,包含 , 号段 if(document.form.phone.value==""&&docume ...
- iOS双重验证设备无法接收验证码,更新手机号。
iOS双重验证设备无法接收验证码,如何更新手机号? 现在苹果在加入双重验证后,必须需要手机号或者登录设备来进行辅助验证.无法接收验证码就导致我们无法正常登录到App Store Connect,今天分 ...
- js验证电话号码(包括手机,固定电话,带区号,不带区号))
函数名称:IsTelephone 函数功能:固话,手机号码检查函数,合法返回true,反之,返回false 函数参数:obj,待检查的号码 检查规则: (1)电话号码由数字."(" ...
- Java验证邮箱和手机号码正则表达式
Java验证邮箱和手机号码: import java.util.regex.Matcher; import java.util.regex.Pattern; /**邮箱正则表达式*/ public f ...
- iOS最新申请DUNS(邓白氏)详细过程,iOS开发者申请DUNS(邓白氏)相关细节,申请DUNS(邓白氏)的方法...
iOS最新申请DUNS(邓白氏)详细过程,iOS开发者申请DUNS(邓白氏)相关细节,申请DUNS(邓白氏)的方法 申请时间:2018年12月12日-10:56:复制代码 第一步: 非常重要-仔细查看 ...
- 1.22 实例:正则表达式验证电话号码
在注册会员时,经常需要输入电话号码,电话号码是指手机号码或者固定电话.如果输入的内容不合法,则会向用户输出提示.本实例模拟实现电话号码的验证功能,接收用户在控制台输入的电话号码,然后进行判断,并将结果 ...
最新文章
- Linux 还能这么玩,10 个非常有趣的命令!
- 【机器视觉】 dev_set_window_extents算子
- 下载视频的一种简便方法
- Windows消息机制详解-6
- 如何使用jmeter进行并发登录测试
- 对比分析HashMap,HashTable,ConcurrentHashMap,LinkedHashMap,LURLinkedHashMap(一)
- 安卓应用安全指南 4.6.3 处理文件 高级话题
- mysql启用keepalive_mysql主从之keepalive+MySQL高可用
- JUnit5 @AfterEach注解示例
- 放生大海的鱼,为什么要在鱼肚子上捅一个洞?
- javascript 总结(常用工具类的封装,转)
- lr 远程压力机部署安装
- 星云链智能合约开发(六):智能合约开发与部署
- Unity4.3 2D新特性
- 5月第3周回顾:08软考举行 中国遭大范围SQL注入***
- Could not find modernizr-2.6.2 in any of the sources
- 在线小说网站的设计与实现(附源码)
- m选n组合的两种算法(C语言实现)
- 发票查验API可以查验的发票类型有哪些?
- iOS指纹识别(解锁)