代码:

  1. - (void)viewDidLoad
  2. {
  3. [super viewDidLoad];
  4. // Do any additional setup after loading the view.
  5.  
  6. //会输出1或者0.1为YES,0为NO
  7. NSLog(@"--------%i--",[self validateMobile:@"1393241"]);
  8. }
  9. #pragma -mark -验证手机号码
  10. //验证手机号码
  11. - (BOOL)validateMobile:(NSString *)mobileNum
  12. {
  13. /**
  14. * 手机号码
  15. * 移动:134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188
  16. * 联通:130,131,132,152,155,156,185,186
  17. * 电信:133,1349,153,180,189
  18. */
  19. NSString * MOBILE = @"^1(3[0-9]|5[0-35-9]|8[025-9])\\d{8}$";
  20. /**
  21. 10 * 中国移动:China Mobile
  22. 11 * 134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188
  23. 12 */
  24. NSString * CM = @"^1(34[0-8]|(3[5-9]|5[017-9]|8[278])\\d)\\d{7}$";
  25. /**
  26. 15 * 中国联通:China Unicom
  27. 16 * 130,131,132,152,155,156,185,186
  28. 17 */
  29. NSString * CU = @"^1(3[0-2]|5[256]|8[56])\\d{8}$";
  30. /**
  31. 20 * 中国电信:China Telecom
  32. 21 * 133,1349,153,180,181,189
  33. 22 */
  34. NSString * CT = @"^1((33|53|8[019])[0-9]|349)\\d{7}$";
  35. /**
  36. 25 * 大陆地区固话及小灵通
  37. 26 * 区号:010,020,021,022,023,024,025,027,028,029
  38. 27 * 号码:七位或八位
  39. 28 */
  40. // NSString * PHS = @"^0(10|2[0-5789]|\\d{3})\\d{7,8}$";
  41.  
  42. NSPredicate *regextestmobile = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", MOBILE];
  43. NSPredicate *regextestcm = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CM];
  44. NSPredicate *regextestcu = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CU];
  45. NSPredicate *regextestct = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CT];
  46.  
  47. if (([regextestmobile evaluateWithObject:mobileNum] == YES)
  48. || ([regextestcm evaluateWithObject:mobileNum] == YES)
  49. || ([regextestct evaluateWithObject:mobileNum] == YES)
  50. || ([regextestcu evaluateWithObject:mobileNum] == YES))
  51. {
  52.  
  53. return YES;
  54. }
  55. else
  56. {
  57.  
  58. return NO;
  59. }
  60.  
  61. }
 
 

【代码笔记】iOS-手机号验证的更多相关文章

  1. IOS开发笔记 IOS如何访问通讯录

    IOS开发笔记  IOS如何访问通讯录 其实我是反对这类的需求,你说你读我的隐私,我肯定不愿意的. 幸好ios6.0 以后给了个权限控制.当打开app的时候你可以选择拒绝. 实现方法: [plain] ...

  2. 使用mongo-java-driver3.0.2.jar和mongodb3.0在java代码中的用户验证4

    以下是使用mongo-java-driver3.0.2.jar和mongodb3.0.4在java代码中的用户验证: ServerAddress sa = new ServerAddress(host ...

  3. 【hadoop代码笔记】Mapreduce shuffle过程之Map输出过程

    一.概要描述 shuffle是MapReduce的一个核心过程,因此没有在前面的MapReduce作业提交的过程中描述,而是单独拿出来比较详细的描述. 根据官方的流程图示如下: 本篇文章中只是想尝试从 ...

  4. 【hadoop代码笔记】hadoop作业提交之汇总

    一.概述 在本篇博文中,试图通过代码了解hadoop job执行的整个流程.即用户提交的mapreduce的jar文件.输入提交到hadoop的集群,并在集群中运行.重点在代码的角度描述整个流程,有些 ...

  5. 【Hadoop代码笔记】目录

    整理09年时候做的Hadoop的代码笔记. 开始. [Hadoop代码笔记]Hadoop作业提交之客户端作业提交 [Hadoop代码笔记]通过JobClient对Jobtracker的调用看详细了解H ...

  6. 笔记-iOS 视图控制器转场详解(上)

    这是一篇长文,详细讲解了视图控制器转场的方方面面,配有详细的示意图和代码,为了使得文章在微信公众号中易于阅读,seedante 辛苦将大量长篇代码用截图的方式呈现,另外作者也在 Github 上附上了 ...

  7. jquery.validator 手机号验证

    1.在input中加上mobile="true",maxlength="11" <label class="w170 control-label ...

  8. 增加 jQueryValidate的手机号验证功能

    1.通过addMethod增加手机号的验证方法 (位置:和$('form').validate({}) 同级别) //增加手机号验证规则 $.validator.addMethod("isM ...

  9. <Python Text Processing with NLTK 2.0 Cookbook>代码笔记

    如下是<Python Text Processing with NLTK 2.0 Cookbook>一书部分章节的代码笔记. Tokenizing text into sentences ...

  10. 1)jquery validate 远程验证remote,自定义验证 , 手机号验证 2)bootstrap validate 远程remote验证的方法.

    1)jquery  validate 远程验证remote,自定义验证 1-1: js <script src="YYFramework/Public/js/jquery-3.1.1. ...

随机推荐

  1. CSS魔法堂:你一定误解过的Normal flow

    前言  刚接触CSS时经常听到看到一个词"文档流",那到底什么是"文档流"呢?然后会看到"绝对定位和浮动定位能脱离文档流",从这句可以看到文 ...

  2. Fundamentals of MVC

     Chapter 1 Fundamentals of MVC    Microsoft's Web Development Platforms Understanding the past can b ...

  3. CentOS matplotlib 安装

    sudo yum install freetype-devel sudo yum install libpng-devel sudo pip install matplotlib

  4. C语言学习006:歌曲搜索

    #include <stdio.h> #include <string.h> //字符串处理库 ]={ "I left my heart in Harvard Med ...

  5. C# 与 Java 中的枚举

    C#代码: 利用扩展方法,扩展枚举功能 using System; using System.Collections.Generic; using System.Text; using System. ...

  6. MySqlHelper、CacheHelper

    MySqlHelper代码: using System; using System.Collections; using System.Collections.Generic; using Syste ...

  7. Android的px、dp和sp

    Android的px.dp和sppx: 即像素,1px代表屏幕上一个物理的像素点:偶尔用到px的情况,是需要画1像素表格线或阴影线的时候. dp: 这个是最常用但也最难理解的尺寸单位.它与“像素密度” ...

  8. csharp: Export DataTable to Excel using OpenXml 2.5 in asp.net

    //https://www.microsoft.com/en-us/download/details.aspx?id=5124 Open XML SDK 2.0 for Microsoft Offic ...

  9. jquery属性选择器

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  10. 使用ActivityManager实现进程管理

    Android中使用ActivityManager可以获得进程信息,并对进程进行管理,如结束进程等.本文使用ActivityManager获得进程列表,并结束选中的进程. 首先,看看布局文件. < ...