iOS开发-UITextField手机号和邮箱验证
不管是网页是手机,用户注册登录的时候绝大数时候都需要手机号码和邮箱地址,而且有些App会限制只能使用手机号注册,iOS方面邮箱正则比较简单,不过手机号码验证找了一下网上的,发现三大运营商的号码段有所变化,通过最新的号码段判断用户手机验证的时候出错概率会小,如果有遗漏的号码段,欢迎补充。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | /*手机验证 */ + ( 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]; } |
本文转自Fly_Elephant博客园博客,原文链接:http://www.cnblogs.com/xiaofeixiang/p/4673760.html,如需转载请自行联系原作者
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
iOS开发-简单工厂模式
设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。概念很长,iOS开发中最常遇到的有单例模式,观察者模式(KVO),简单工厂模式其实在开发中也非常常见,就是由工厂类根据传入的参数,动态决定应该创建出对应的产品类的实例。 基础概念 举一个生活的例子是我们有各种中字开头的银行卡,我们每天都会消费,消费的时候每个银行卡提示不同的信息,我们可以先抽象出来一个银行卡类: 1 2 3 4 5 6 7 8 9 @ interface BankCard : NSObject @property (strong,nonatomic) NSString *cardName; @property (strong,nonatomic) NSString *cardNumber; -( void )cardConsume; @end ABC银行卡: 1 2 3 4 5 6 7 8 9 10 #import "ABCBankCard.h" @implementation ABCBa...
- 下一篇
Android接入支付宝实现支付功能
Android接入支付宝实现支付功能 我本来是想直接讲Android支付这一块的,包括支付宝,微信,其他第三方整合支付等,但是微信开放平台他对我的账号做了限制,所有我今天就先把重心放在支付宝的支付上,也算是写得尽可能详细些吧,毕竟是第三方的SDK,只要我们耐心的阅读文档和开发引导,这个其实不是很难的,我也是没有用过支付宝的支付,但是我相信,你看完这篇博客,也会对他了如指掌的,好的,我们正文开始 一.准备步骤 1.登录官网 他的官网就是蚂蚁金服的开放平台了,我们可以访问 蚂蚁金服开放平台 ,并且注册账号进行登录 创建应用 如果你是现有的应用直接接入支付功能的话,可以不看这里,我这里是因为需要讲博客所有重新创建了一个项目并且在Android Studio里也重新创建了一个项目,Android Studio里创建的项目我把他叫做SimpleMall,简单商城的意思,那在开放平台我们又是如何去创建应用呢,点击-进入我的开放平台-应用,就可以看到应用管理了。我们点击创建应用 创建成果之后有很多的选项包括需要你上传 这些先不管,我们这个时候可以看到已经拿到了APPID: 2017062807585...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果