手机号正则表达式验证
基础方法
/**
基础方法
@param regex 正则表达式
@return 正则验证成功返回YES, 否则返回NO
*/- (BOOL)isValidateByRegex:(NSString*)regex {NSPredicate*predicate = [NSPredicatepredicateWithFormat:@"SELF MATCHES %@",regex];
return[predicate evaluateWithObject:self];
}
一、验证手机号码不区别运营商
/**
验证手机号码
@return 正则验证成功返回YES, 否则返回NO
*/- (BOOL)isMobileNumber {// @"^(13[0-9]|14[56789]|15[0-9]|16[6]|17[0-9]|18[0-9]|19[89])\\d{8}$";
NSString*emailRegex =@"^1(3[0-9]|4[56789]|5[0-9]|6[6]|7[0-9]|8[0-9]|9[89])\\d{8}$";
return[selfisValidateByRegex:emailRegex];
}
二、验证手机号码区别运营商
可点击查看哟
【手机号正则表达式验证】各运营商号段
/**
判断运营商
各个运营商开头号码不同 需要根据运营商更新
@return正则验证成功返回YES, 否则返回NO
*/- (BOOL)isMobileNumberClassification {/**
* 手机号码
* 移动:134(0-8)、135、136、137、138、139、147、150、151、152、157、158、159、172、178、182、183、184、187、188、198
*
* 联通:130、131、132、145、155、156、166、175、176、185、186
*
* 电信:133、149、153、173、177、180、181、189、199
*
虚拟运营商
电信:1700、1701、1702
移动:1703、1705、1706
联通:1704、1707、1708、1709、171
卫星通信:1349
*//**
* 中国移动:China Mobile
* 134(0-8)、135、136、137、138、139、147、150、151、152、157、158、159、172、178、182、183、184、187、188、198
*/NSString* CM =@"^1(34[0-8]|3[5-9]|47|5[0127-9]|8[23478]|198)\\d{8}$";
/**
* 中国联通:China Unicom
* 130、131、132、145、155、156、166、175、176、185、186
*/NSString* CU =@"^1((3[0-2]|45|5[56]|166|7[56]|8[56]))\\d{8}$";
/**
* 中国电信:China Telecom
* 133、149、153、173、177、180、181、189、199
*/NSString* CT =@"^1((33|49|53|7[37]|8[019]|199))\\d{8}$";
if([selfisValidateByRegex:CM]) {NSLog(@"手机运营商是====CM---中国移动");
returnYES;
}elseif([selfisValidateByRegex:CU]) {NSLog(@"手机运营商是====CU---中国联通");
returnYES;
}elseif([selfisValidateByRegex:CT]){NSLog(@"手机运营商是====CT---中国电信");
returnYES;
}else{returnNO;
}}
作者:陈_Chen
链接:https://www.jianshu.com/p/b545ae8d2f6c
来源:
著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
推荐阅读
- Python爬虫|Python爬虫 --- 1.4 正则表达式(re库)
- 正则匹配
- 正则表达式中增加变量
- sed及正则表达式
- Java8|Java8 Collections.sort()及Arrays.sort()中Lambda表达式及增强版Comparator的使用
- Java正则表达式的应用
- SQL|SQL基本功(五)--函数、谓词、CASE表达式
- Python--之正则表达式一基础
- 练习|vue+element实现手机号验证码注册
- 正则表达式过滤掉数字广告