直接上代碼:
// 判斷是否是11位手機(jī)號(hào)碼
- (BOOL)judgePhoneNumber:(NSString *)phoneNum
{
/**
* 移動(dòng)號(hào)段正則表達(dá)式
*/
NSString *CM_NUM = @"^((13[4-9])|(147)|(15[0-2,7-9])|(178)|(18[2-4,7-8]))\\d{8}|(1705)\\d{7}$";
/**
* 聯(lián)通號(hào)段正則表達(dá)式
*/
NSString *CU_NUM = @"^((13[0-2])|(145)|(15[5-6])|(176)|(18[5,6]))\\d{8}|(1709)\\d{7}$";
/**
* 電信號(hào)段正則表達(dá)式
*/
NSString *CT_NUM = @"^((133)|(153)|(177)|(18[0,1,9]))\\d{8}$";
// 一個(gè)判斷是否是手機(jī)號(hào)碼的正則表達(dá)式
NSString *pattern = [NSString stringWithFormat:@"(%@)|(%@)|(%@)",CM_NUM,CU_NUM,CT_NUM];
NSRegularExpression *regularExpression = [[NSRegularExpression alloc] initWithPattern:pattern options:NSRegularExpressionCaseInsensitive error:nil];
NSString *mobile = [phoneNum stringByReplacingOccurrencesOfString:@" " withString:@""];
if (mobile.length != 11) {
NO;
}
// 無(wú)符號(hào)整型數(shù)據(jù)接收匹配的數(shù)據(jù)的數(shù)目
NSUInteger numbersOfMatch = [regularExpression numberOfMatchesInString:mobile options:NSMatchingReportProgress range:NSMakeRange(0, mobile.length)];
if (numbersOfMatch>0) return YES;
return NO;
}