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条评论来说两句吧...