正则表达式判断手机号是否正确

2016-06-27  本文已影响346人  会飞的乌龟爱看海

- (NSString *)valiMobile:(NSString *)mobile{

if (mobile.length < 11)

{

return @"请输入正确的手机号";

}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) {

if (isMatch1) {

return @"该号码是一个正确的移动手机号码";

}else if (isMatch2) {

return @"该号码是一个正确的联通手机号码";

}else {

return @"该号码是一个正确的电信手机号码";

}

}else{

return @"请输入正确的手机号码";

}

}

return nil;

}

上一篇 下一篇

猜你喜欢

热点阅读