美文网首页
正则表达式判断手机号码

正则表达式判断手机号码

作者: Billy_W | 来源:发表于2016-09-29 09:35 被阅读0次

使用方法:新建一个继承于NSString的类,再导入NSString+Check.h头文件,通过判断字符串的属性值(checkPhoneNumInput)YES or NO 即可。

#import

@interface NSString (Check)

-(BOOL)checkPhoneNumInput;

@end

// NSString+Check.m

// ics

//

// Created by Casystar on 15-4-2.

// Copyright (c) 2015年 dong. All rights reserved.

//

#import "NSString+Check.h"

@implementation NSString (Check)

-(BOOL)checkPhoneNumInput{

NSString * MOBILE = @"^1(3[0-9]|5[0-35-9]|8[025-9]|70|77)\\d{8}$";

NSString * CM = @"^1(34[0-8]|(3[5-9]|5[017-9]|8[278])\\d)\\d{7}$";

NSString * CU = @"^1(3[0-2]|5[256]|8[56])\\d{8}$";

NSString * CT = @"^1((33|53|8[09])[0-9]|349)\\d{7}$";

// 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];

BOOL res1 = [regextestmobile evaluateWithObject:(需要判断字符串)];

BOOL res2 = [regextestcm evaluateWithObject:(需要判断字符串)];

BOOL res3 = [regextestcu evaluateWithObject:(需要判断字符串)];

BOOL res4 = [regextestct evaluateWithObject:(需要判断字符串)];

if (res1 || res2 || res3 || res4 )

{

return YES;

}

else

{

return NO;

}

}

@end

ps:1(3[0-9]|5[0-35-9]|8[025-9]|70|77),后面一部分是:\\d{8}。后面一部分很简单就不解释了,前面一部分我们分析一下。前面的1表示开头必须是1,接着是小括号里的式子(3[0-9]|5[0-35-9]|8[025-9]|70|77)。小括号了有四个"|"符号,这个符号我们理解为将式子分为了五部分:3[0-9],5[0-35-9],8[025-9],70,77。接下看一下每个部分表示什么:(我们这里用x表示未知数)

3[0-9]:就是表示匹配3x这样子的数字,x就是【0到9】之间的一个数字,包括0和9;

5[0-35-9]:这里表示匹配5x这样子的数字,x就是【0到3】或者是【5到9】之间的一个数字;

8[025-9]:这里表示匹配8x这样的数字,x就是【0】或者是【2】或者是【5到9】之间的一个数字;

70:表示要匹配70;

77:表示要匹配77;

这五部分因为是在一个小括号中,而且使用了"|"符号来分割,也就是说,这五部分里,我们只需要匹配到其中一个部分就行了。在加上一开始要匹配的数字1,也就是我们的表倒是开头的这部分可以匹配到的数字有:130....139,150...153,155...159,180,182,185...189,170,177。

相关文章

  • iOS开发中的一些常用小技巧

    1. 判断手机号码格式是否正确,利用正则表达式验证 2. 判断邮箱格式是否正确,利用正则表达式验证 3. 让iOS...

  • Java Script 登录页面总结

    登录按钮思路 1、获取手机号码 2、检查手机号码是否为空 3、用正则表达式判断手机号码是否正确 var phone...

  • 正则表达式

    正则表达式可以用于指定格式的判断 手机号的判断 身份证号的判断 手机号码的判断 身份证号判断 这两个是个人信息常用...

  • Day18-正则表达式

    01-正则表达式语法 正则表达式是用来匹配或者描述字符串的工具。 用处:a. 判断输入的字符串是否是邮箱/手机号码...

  • 学会正则表达式,爬遍所有网站都不怕!最详细的正则入门教程!

    百度百科上关于正则表达式的解释: 例:判断是否是手机号码 未采用正则表达式 re模块介绍 常用函数 re.matc...

  • 2018-10-23 Day18 正则表达式

    1.正则表达式语法 正则表达式是用来匹配或者描述字符串的工具 用处:a.判断输入的字符串是否是邮箱/手机号码。是否...

  • JS中正则表达式的基本应用

    正则表达式的用途: 1、正则表达式可以用于各种手机号码,身份证号,邮编号,qq号的判断。 如/^1(3|4|5|7...

  • 2018-10-23正则表达式

    正则表达式的语法 用处:1.判断某个字符串是否符合某个条件---判断输入的字符串是否是邮箱/手机号码,是否是ip地...

  • 十分钟学会基础的正则表达式

    正则表达式在开发中是非常受欢迎的,比如做一个手机号码的判断,用正则来判断就很简单了,或者一个身份号码的验证,这些正...

  • 2.8正则表达式考察点

    至少写出一种验证139开头的11为的手机号码的正则表达式 思考手机号码的正则表达式的编写延伸正则表达式的组成及编写...

网友评论

      本文标题:正则表达式判断手机号码

      本文链接:https://www.haomeiwen.com/subject/jlmkyttx.html