iOS 手机号的正则表达式

作者: 阿狸先森丶12138 | 来源:发表于2017-06-16 11:32 被阅读212次

    + (BOOL)phoneValiMobile:(NSString *)mobile

    {

    mobile = [mobile stringByReplacingOccurrencesOfString:@" " withString:@""];

    if (mobile.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:mobile];

    NSPredicate *pred2 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CU_NUM];

    BOOL isMatch2 = [pred2 evaluateWithObject:mobile];

    NSPredicate *pred3 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CT_NUM];

    BOOL isMatch3 = [pred3 evaluateWithObject:mobile];

    if (isMatch1 || isMatch2 || isMatch3) {

    return YES;

    }else{

    return NO;

    }

    }

    }

    上面也是也可使用

    最新的手机号码验证:

    //移动号段正则表达式,新增1703、1705、1706

    NSString *CM_NUM = @"^((13[4-9])|(147)|(15[0-2,7-9])|(178)|(18[2-4,7-8]))\\d{8}|(170[3,5,6])\\d{7}$";

    //联通号段正则表达式,新增1704、1707、1708、1709,171

    NSString *CU_NUM = @"^((13[0-2])|(145)|(15[5-6])|(17[1,6])|(18[5,6]))\\d{8}|(170[4,7-9])\\d{7}$";

    //电信号段正则表达式,新增1700、1701、1702、173

    NSString *CT_NUM = @"^((133)|(153)|(17[3,7])|(18[0,1,9]))\\d{8}|(170[0-2])\\d{7}$";

    相关文章

      网友评论

      • 奔跑的小菜菜:你好最新的号码段去哪可以查。
        阿狸先森丶12138:正则表达式可以直接写出相对的规则
      • LeverTsui:最新的手机号码验证:
        //移动号段正则表达式,新增1703、1705、1706
        NSString *CM_NUM = @"^((13[4-9])|(147)|(15[0-2,7-9])|(178)|(18[2-4,7-8]))\\d{8}|(170[3,5,6])\\d{7}$";
        //联通号段正则表达式,新增1704、1707、1708、1709,171
        NSString *CU_NUM = @"^((13[0-2])|(145)|(15[5-6])|(17[1,6])|(18[5,6]))\\d{8}|(170[4,7-9])\\d{7}$";
        //电信号段正则表达式,新增1700、1701、1702、173
        NSString *CT_NUM = @"^((133)|(153)|(17[3,7])|(18[0,1,9]))\\d{8}|(170[0-2])\\d{7}$";

      本文标题:iOS 手机号的正则表达式

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