博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS开发-UITextField手机号和邮箱验证
阅读量:6967 次
发布时间:2019-06-27

本文共 1892 字,大约阅读时间需要 6 分钟。

不管是网页是手机,用户注册登录的时候绝大数时候都需要手机号码和邮箱地址,而且有些App会限制只能使用手机号注册,iOS方面邮箱正则比较简单,不过手机号码验证找了一下网上的,发现三大运营商的号码段有所变化,通过最新的号码段判断用户手机验证的时候出错概率会小,如果有遗漏的号码段,欢迎补充。

/*手机验证 */+ (BOOL)isMobileNumber:(NSString *)mobileNum {    /**     * 手机号码     * 移动:134/135/136/137/138/139/150/151/152/157/158/159/182/183/184/187/188/147/178     * 联通:130/131/132/155/156/185/186/145/176     * 电信:133/153/180/181/189/177     */    NSString *MOBILE = @"^1(3[0-9]|5[0-35-9]|8[025-9])\\d{8}$";    /**     * 中国移动:China Mobile     * 134[0-8]/135/136/137/138/139/150/151/152/157/158/159/182/183/184/187/188/147/178     */    NSString *CM = @"^1(34[0-8]|(3[5-9]|5[0127-9]|8[23478]|47|78)\\d)\\d{7}$";    /**     * 中国联通:China Unicom     * 130/131/132/152/155/156/185/186/145/176     */    NSString *CU = @"^1(3[0-2]|5[256]|8[56]|45|76)\\d{8}$";    /**     * 中国电信:China Telecom     * 133/153/180/181/189/177     */    NSString *CT = @"^1((33|53|77|8[019])[0-9]|349)\\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];        if (([regextestmobile evaluateWithObject:mobileNum] == YES) ||        ([regextestcm evaluateWithObject:mobileNum] == YES) ||        ([regextestct evaluateWithObject:mobileNum] == YES) ||        ([regextestcu evaluateWithObject:mobileNum] == YES)) {        return YES;    } else {        return NO;    }}/*邮箱验证 */+ (BOOL)isValidateEmail:(NSString *)email {    NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";    NSPredicate *emailTest =    [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];    return [emailTest evaluateWithObject:email];}

  

转载地址:http://cnisl.baihongyu.com/

你可能感兴趣的文章
Spark学习笔记——房屋价格预测
查看>>
Tutorial: Generate BBox or Rectangle to locate the target obejct
查看>>
Anton and Letters
查看>>
阿里云服务器带宽跑满怎么办
查看>>
java maven通过SMTP发送QQ邮件的完全步骤
查看>>
结构型模式—适配器模式
查看>>
(转)淘淘商城系列——在业务逻辑中添加缓存
查看>>
JS在在线人数和访问人数
查看>>
Maven 拾遗
查看>>
CentOS Boost
查看>>
java中TCP传输协议
查看>>
STM32 双ADC同步规则采样
查看>>
opencv矩阵运算(2)
查看>>
[js] 如何 在 jQuery 中的 $.each 循环中使用 break 和 continue
查看>>
如何将图片保存至数据库?
查看>>
java多线程中 volatile与synchronized的区别-阿里面试
查看>>
程序猿生存定律-六个程序猿的故事(2)
查看>>
Hdu2111
查看>>
python操作sql server2008 pyodbc
查看>>
Hdu-1565 方格取数(1) (状态压缩dp入门题
查看>>