不管是网页是手机,用户注册登录的时候绝大数时候都需要手机号码和邮箱地址,而且有些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];
}

  

iOS开发-UITextField手机号和邮箱验证相关推荐

  1. 手机号 电话号码 邮箱 验证

    手机号 电话号码 邮箱 验证 public class Validator {public static boolean isEmpty(Object obj){if(obj == null || o ...

  2. 微信小程序 --- 表单输入验证(手机号、邮箱验证、输入非空)

    js代码 Page({/*** 页面的初始数据*/data: {indicatorDots: false,autoplay: false,interval: 5000,duration: 1000,p ...

  3. iOS开发--UITextField限制字数(中文,数字),过滤空格和emoji,更新九宫格判断

    前言 这是在我项目开发中遇到的问题,主要是给创建的作品保存名字,这样我们就会涉及到名称字数和特殊字符的限制,目前涉及到用户输入的大部分解决方案就是UITextField和UITextView,两者的原 ...

  4. iOS开发-https免证书验证

    此处博主做一个声明,如果你想跳过https的双向验证,仅仅单向进行直接信任所有的证书,那么你们的后台也必须是允许单向验证的,否则设置了双向验证,客户端是无法跳过的,实在不想当初辛苦的经验被无知的小白说 ...

  5. iOS开发判断手机号是否合法

    #pragma mark----- 判断手机号是否合法 /*!  @brief 判断手机号是否合法  */ + (NSString *)PhoneNumberMobile:(NSString *)mo ...

  6. 手机号,邮箱正则匹配验证

    1:手机号的验证 1:第一种 let mobileReg = /^13[\d]{9}$|^14[7,8]{1}\d{8}$|^15[^4]{1}\d{8}$|^17[3,5,6,7,8]{1}\d{8 ...

  7. c#使用pop3服务器进行邮箱验证

    环境 开发环境:.net4.0+vs2013 操作系统:win8.1 内容 由于项目需要,拟开发一个模块进行邮箱验证操作,最终采取使用pop3服务器进行邮箱登陆并且获取内容 编码 /// <su ...

  8. 《“透视”个人大数据》项目开发小记 --(二)网络服务端,邮箱验证和手机验证(C#,Java)

    现在网络的应用越来越普及,网络的构建也越来越简便,对于某些研究性项目自建网络服务端 也是可行的方案.本项目的网络服务,是用C#,基于Socket构建的,核心的工作是通过自定的BS60传输协议,实现与手 ...

  9. vue中手机号,邮箱正则验证以及60s发送验证码

    今天写了一个简单的验证,本来前面用的组件,但是感觉写的组件在此项目不是很好用,由于用到的地方比较少,所以直接写在了页面中.页面展示如图 <div> <p class="fl ...

最新文章

  1. Android 3.0 r1 API中文文档(107) —— AsyncPlayer
  2. uniapp里的mounted_uni-app 生命周期函数执行顺序
  3. 从源码分析DEARGUI之画图和删图
  4. Linux和Windows路由配置
  5. javascript中涉及到汉字的比较
  6. c# 变量,对象,静态类型,集合类的线程安全回顾
  7. Linux / OpenWRT / 目录功能说明
  8. 在桌面拔和平精英改成计算机,和平精英一键修改画质电脑版
  9. ProtoBuff3.0.0在Ubuntu上安装
  10. 4023-基于双向链表的双向冒泡排序法
  11. win7重装系统时,使用PE工具箱进入系统看到的“C盘变成0.2G,D盘变成48G左右”这是什么回事?...
  12. 通过jQuery EasyUI实现基本的拖放,此为转发!!大家学习讨论
  13. java并发编程(6)--CAS会导致“ABA问题“ 解决方案
  14. Ubuntu16.04,16.05系列最全深度美化教你如何变得有格调
  15. 如何打开屏幕坏的手机_手机屏幕碎了怎么开usb?不通过屏幕打开usb调试方法
  16. 计算机管理如何格式化u盘,u盘无法格式化?0字节?教你5种方法格式化u盘,超简单!...
  17. 终于搞定电子专利网上申请了
  18. Python的三个引号作用
  19. 1.定义ddos僵尸网络
  20. 计算机网络学习笔记3-ARP+广播风暴

热门文章

  1. 域内主机间之共享文件(夹)访问
  2. 大三Java实习总结网易百度小米美团阿里(均拿offer)
  3. 人工智能三年行动计划启动,推动人工智能和实体经济深度融合
  4. lnmp集成开发环境安装pdo_dblib扩展
  5. 核心路由器聚焦三大关键点
  6. maven(5)--依赖特性
  7. mysql 2013错误解决
  8. 齐俊元:怎样设计体验出色的企业级应用
  9. 通过全局路由表的方式实现MPLS ***上互联网
  10. 32.2. ntpdate