【代码笔记】iOS-手机号验证
代码:

- - (void)viewDidLoad
- {
- [super viewDidLoad];
- // Do any additional setup after loading the view.
- //会输出1或者0.1为YES,0为NO
- NSLog(@"--------%i--",[self validateMobile:@"1393241"]);
- }
- #pragma -mark -验证手机号码
- //验证手机号码
- - (BOOL)validateMobile:(NSString *)mobileNum
- {
- /**
- * 手机号码
- * 移动:134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188
- * 联通:130,131,132,152,155,156,185,186
- * 电信:133,1349,153,180,189
- */
- NSString * MOBILE = @"^1(3[0-9]|5[0-35-9]|8[025-9])\\d{8}$";
- /**
- 10 * 中国移动:China Mobile
- 11 * 134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188
- 12 */
- NSString * CM = @"^1(34[0-8]|(3[5-9]|5[017-9]|8[278])\\d)\\d{7}$";
- /**
- 15 * 中国联通:China Unicom
- 16 * 130,131,132,152,155,156,185,186
- 17 */
- NSString * CU = @"^1(3[0-2]|5[256]|8[56])\\d{8}$";
- /**
- 20 * 中国电信:China Telecom
- 21 * 133,1349,153,180,181,189
- 22 */
- NSString * CT = @"^1((33|53|8[019])[0-9]|349)\\d{7}$";
- /**
- 25 * 大陆地区固话及小灵通
- 26 * 区号:010,020,021,022,023,024,025,027,028,029
- 27 * 号码:七位或八位
- 28 */
- // NSString * PHS = @"^0(10|2[0-5789]|\\d{3})\\d{7,8}$";
- 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;
- }
- }

【代码笔记】iOS-手机号验证的更多相关文章
- IOS开发笔记 IOS如何访问通讯录
IOS开发笔记 IOS如何访问通讯录 其实我是反对这类的需求,你说你读我的隐私,我肯定不愿意的. 幸好ios6.0 以后给了个权限控制.当打开app的时候你可以选择拒绝. 实现方法: [plain] ...
- 使用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 ...
- 【hadoop代码笔记】Mapreduce shuffle过程之Map输出过程
一.概要描述 shuffle是MapReduce的一个核心过程,因此没有在前面的MapReduce作业提交的过程中描述,而是单独拿出来比较详细的描述. 根据官方的流程图示如下: 本篇文章中只是想尝试从 ...
- 【hadoop代码笔记】hadoop作业提交之汇总
一.概述 在本篇博文中,试图通过代码了解hadoop job执行的整个流程.即用户提交的mapreduce的jar文件.输入提交到hadoop的集群,并在集群中运行.重点在代码的角度描述整个流程,有些 ...
- 【Hadoop代码笔记】目录
整理09年时候做的Hadoop的代码笔记. 开始. [Hadoop代码笔记]Hadoop作业提交之客户端作业提交 [Hadoop代码笔记]通过JobClient对Jobtracker的调用看详细了解H ...
- 笔记-iOS 视图控制器转场详解(上)
这是一篇长文,详细讲解了视图控制器转场的方方面面,配有详细的示意图和代码,为了使得文章在微信公众号中易于阅读,seedante 辛苦将大量长篇代码用截图的方式呈现,另外作者也在 Github 上附上了 ...
- jquery.validator 手机号验证
1.在input中加上mobile="true",maxlength="11" <label class="w170 control-label ...
- 增加 jQueryValidate的手机号验证功能
1.通过addMethod增加手机号的验证方法 (位置:和$('form').validate({}) 同级别) //增加手机号验证规则 $.validator.addMethod("isM ...
- <Python Text Processing with NLTK 2.0 Cookbook>代码笔记
如下是<Python Text Processing with NLTK 2.0 Cookbook>一书部分章节的代码笔记. Tokenizing text into sentences ...
- 1)jquery validate 远程验证remote,自定义验证 , 手机号验证 2)bootstrap validate 远程remote验证的方法.
1)jquery validate 远程验证remote,自定义验证 1-1: js <script src="YYFramework/Public/js/jquery-3.1.1. ...
随机推荐
- CSS魔法堂:你一定误解过的Normal flow
前言 刚接触CSS时经常听到看到一个词"文档流",那到底什么是"文档流"呢?然后会看到"绝对定位和浮动定位能脱离文档流",从这句可以看到文 ...
- Fundamentals of MVC
Chapter 1 Fundamentals of MVC Microsoft's Web Development Platforms Understanding the past can b ...
- CentOS matplotlib 安装
sudo yum install freetype-devel sudo yum install libpng-devel sudo pip install matplotlib
- C语言学习006:歌曲搜索
#include <stdio.h> #include <string.h> //字符串处理库 ]={ "I left my heart in Harvard Med ...
- C# 与 Java 中的枚举
C#代码: 利用扩展方法,扩展枚举功能 using System; using System.Collections.Generic; using System.Text; using System. ...
- MySqlHelper、CacheHelper
MySqlHelper代码: using System; using System.Collections; using System.Collections.Generic; using Syste ...
- Android的px、dp和sp
Android的px.dp和sppx: 即像素,1px代表屏幕上一个物理的像素点:偶尔用到px的情况,是需要画1像素表格线或阴影线的时候. dp: 这个是最常用但也最难理解的尺寸单位.它与“像素密度” ...
- 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 ...
- jquery属性选择器
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 使用ActivityManager实现进程管理
Android中使用ActivityManager可以获得进程信息,并对进程进行管理,如结束进程等.本文使用ActivityManager获得进程列表,并结束选中的进程. 首先,看看布局文件. < ...