基礎(chǔ)方法
/**
基礎(chǔ)方法
@param regex 正則表達(dá)式
@return 正則驗(yàn)證成功返回YES, 否則返回NO
*/
- (BOOL)isValidateByRegex:(NSString *)regex {
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex];
return [predicate evaluateWithObject:self];
}
一、驗(yàn)證手機(jī)號(hào)碼 不區(qū)別運(yùn)營商
/**
驗(yàn)證手機(jī)號(hào)碼
@return 正則驗(yàn)證成功返回YES, 否則返回NO
*/
- (BOOL)isMobileNumber {// @"^(13[0-9]|14[56789]|15[0-9]|16[6]|17[0-9]|18[0-9]|19[189])\\d{8}$";
NSString *emailRegex = @"^1(3[0-9]|4[56789]|5[0-9]|6[6]|7[0-9]|8[0-9]|9[189])\\d{8}$";
return [self isValidateByRegex:emailRegex];
}
二、驗(yàn)證手機(jī)號(hào)碼 區(qū)別運(yùn)營商
可點(diǎn)擊查看喲??
各運(yùn)營商號(hào)段
/**
判斷運(yùn)營商
各個(gè)運(yùn)營商開頭號(hào)碼不同 需要根據(jù)運(yùn)營商更新
@return 正則驗(yàn)證成功返回YES, 否則返回NO
*/
- (BOOL)isMobileNumberClassification {
/**
* 手機(jī)號(hào)碼
* 移動(dòng):134(0-8)、135、136、137、138、139、147、150、151、152、157、158、159、172、178、182、183、184、187、188、198
*
* 聯(lián)通:130、131、132、145、155、156、166、175、176、185、186
*
* 電信:133、149、153、173、177、180、181、189、191、199
*
虛擬運(yùn)營商
電信:1700、1701、1702
移動(dòng):1703、1705、1706
聯(lián)通:1704、1707、1708、1709、171
衛(wèi)星通信:1349
*/
/**
* 中國移動(dòng):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]|98)\\d{8}$";
/**
* 中國聯(lián)通: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、191、199
*/
NSString * CT = @"^1((33|49|53|7[37]|8[019]|9[19]))\\d{8}$";
if ([self isValidateByRegex:CM]) {
NSLog(@"手機(jī)運(yùn)營商是====CM---中國移動(dòng)");
return YES;
} else if ([self isValidateByRegex:CU]) {
NSLog(@"手機(jī)運(yùn)營商是====CU---中國聯(lián)通");
return YES;
} else if ([self isValidateByRegex:CT]){
NSLog(@"手機(jī)運(yùn)營商是====CT---中國電信");
return YES;
} else {
return NO;
}
}
以上!?。?br> 有錯(cuò)誤 歡迎指出!謝謝大家!??!