iOS-判断是否是手机号的正则表达式

// 判断是否是手机号  
+ (BOOL)isValidPhone:(NSString *)phone  
{  
    if (phone.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:phone];  
        NSPredicate *pred2 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CU_NUM];  
        BOOL isMatch2 = [pred2 evaluateWithObject:phone];  
        NSPredicate *pred3 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CT_NUM];  
        BOOL isMatch3 = [pred3 evaluateWithObject:phone];  
          
        if (isMatch1 || isMatch2 || isMatch3) {  
            return YES;  
        }else{  
            return NO;  
        }  
    }  

摘自:https://zhidao.baidu.com/question/1114681919654123739.html

更新:

/*手机号码验证 MODIFIED BY HELENSONG*/
+ (BOOL) isValidateMobile:(NSString *)mobile
{

NSString *phoneRegex1=@"1[3456789]([0-9]){9}";
NSPredicate *phoneTest1 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",phoneRegex1];
return [phoneTest1 evaluateWithObject:mobile];
}

你可能感兴趣的