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,如需转载请自行联系原作者

相关文章
|
26天前
|
API 数据安全/隐私保护 iOS开发
利用uni-app 开发的iOS app 发布到App Store全流程
利用uni-app 开发的iOS app 发布到App Store全流程
83 3
|
28天前
|
Android开发 开发者 UED
个人开发 App 成功上架手机应用市场的关键步骤
个人开发 App 成功上架手机应用市场的关键步骤
|
3月前
|
存储 监控 iOS开发
iOS应用崩溃了,如何通过崩溃手机连接电脑查找日志方法
在iOS应用开发过程中,调试日志和奔溃日志是开发者必不可少的工具。当iOS手机崩溃时,我们可以连接电脑并使用Xcode Console等工具来查看日志。然而,这种方式可能不够方便,并且处理奔溃日志也相当繁琐。克魔助手的出现为开发者带来了极大的便利,本文将详细介绍其功能和使用方法。 克魔助手会提供两种日志,一种是实时的,一种的是崩溃的。(由于崩溃日志的环境很麻烦,目前只展示实时日志操作步骤)
|
3月前
|
存储 iOS开发
iOS 开发,如何进行应用的本地化(Localization)?
iOS 开发,如何进行应用的本地化(Localization)?
122 2
|
2月前
|
Web App开发 Go iOS开发
【IOS】教你如何在手机端轻松安装 ipa 文件 -(安装器已失效 21.10)|社区征文
【IOS】教你如何在手机端轻松安装 ipa 文件 -(安装器已失效 21.10)|社区征文
|
3月前
|
JSON 前端开发 数据安全/隐私保护
【教程】iOS 手机抓包工具介绍及教程
📱 最近又发现APP Store一款宝藏软件,克魔助手抓包工具,app刚上架,功能不断迭代中,目前18软妹币实惠价可享受终身版!现在是下手的最好时机。
|
1月前
|
Web App开发 前端开发 网络安全
前端分析工具之 Charles 录制 Android/IOS 手机的 https 应用
【2月更文挑战第21天】前端分析工具之 Charles 录制 Android/IOS 手机的 https 应用
46 1
前端分析工具之 Charles 录制 Android/IOS 手机的 https 应用
|
2月前
|
监控 API Swift
用Swift开发iOS平台上的上网行为管理监控软件
在当今数字化时代,随着智能手机的普及,人们对于网络的依赖日益增加。然而,对于一些特定场景,如家庭、学校或者企业,对于iOS设备上的网络行为进行管理和监控显得尤为重要。为了满足这一需求,我们可以利用Swift语言开发一款iOS平台上的上网行为管理监控软件。
181 2
|
2月前
|
网络安全 开发工具 数据安全/隐私保护
如何把 ipa 文件 (iOS 安装包) 安装到 iPhone 手机上? 附方法汇总
如何把 ipa 文件 (iOS 安装包) 安装到 iPhone 手机上? 附方法汇总
|
3月前
|
数据可视化 iOS开发
iOS 开发,什么是 Interface Builder(IB)?如何使用 IB 构建用户界面?
iOS 开发,什么是 Interface Builder(IB)?如何使用 IB 构建用户界面?
40 4

热门文章

最新文章