iOS 日常开发随笔iOS Developer

iOS 手机号的正则表达式

2017-06-16  本文已影响212人  阿狸先森丶12138

+ (BOOL)phoneValiMobile:(NSString *)mobile

{

mobile = [mobile stringByReplacingOccurrencesOfString:@" " withString:@""];

if (mobile.length != 11)

{

return NO;

}else{

/**

* 移动号段正则表达式

*/

NSString *CM_NUM = @"^((13[4-9])|(147)|(15[0-2,7-9])|(178)|(18[2-4,7-8]))\\d{8}|(1705)\\d{7}$";

/**

* 联通号段正则表达式

*/

NSString *CU_NUM = @"^((13[0-2])|(145)|(15[5-6])|(176)|(18[5,6]))\\d{8}|(1709)\\d{7}$";

/**

* 电信号段正则表达式

*/

NSString *CT_NUM = @"^((133)|(153)|(177)|(18[0,1,9]))\\d{8}$";

NSPredicate *pred1 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CM_NUM];

BOOL isMatch1 = [pred1 evaluateWithObject:mobile];

NSPredicate *pred2 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CU_NUM];

BOOL isMatch2 = [pred2 evaluateWithObject:mobile];

NSPredicate *pred3 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CT_NUM];

BOOL isMatch3 = [pred3 evaluateWithObject:mobile];

if (isMatch1 || isMatch2 || isMatch3) {

return YES;

}else{

return NO;

}

}

}

上面也是也可使用

最新的手机号码验证:

//移动号段正则表达式,新增1703、1705、1706

NSString *CM_NUM = @"^((13[4-9])|(147)|(15[0-2,7-9])|(178)|(18[2-4,7-8]))\\d{8}|(170[3,5,6])\\d{7}$";

//联通号段正则表达式,新增1704、1707、1708、1709,171

NSString *CU_NUM = @"^((13[0-2])|(145)|(15[5-6])|(17[1,6])|(18[5,6]))\\d{8}|(170[4,7-9])\\d{7}$";

//电信号段正则表达式,新增1700、1701、1702、173

NSString *CT_NUM = @"^((133)|(153)|(17[3,7])|(18[0,1,9]))\\d{8}|(170[0-2])\\d{7}$";

上一篇 下一篇

猜你喜欢

热点阅读