美文网首页
iOS-判断是否是手机号的正则表达式

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

作者: HanZhiZzzzz | 来源:发表于2017-11-20 22:23 被阅读0次
    // 判断是否是手机号  
    + (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];
    }
    

    相关文章

      网友评论

          本文标题:iOS-判断是否是手机号的正则表达式

          本文链接:https://www.haomeiwen.com/subject/xdibvxtx.html