美文网首页
正则判断号码

正则判断号码

作者: hanyongwei | 来源:发表于2018-12-25 11:00 被阅读0次

//判断所有号码

  • (BOOL)IsValidateContactNumber{

    /**

    • 手机号码
    • 移动:134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188
    • 联通:130,131,132,152,155,156,185,186
    • 电信:133,1349,153,180,189
      */
      NSString * MOBILE = @"^1(3[0-9]|5[0-35-9]|8[025-9])\d{8}$";

    /**
    10 * 中国移动:China Mobile
    11 * 134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188
    12 */
    NSString * CM = @"^1(34[0-8]|(3[5-9]|5[017-9]|8[278])\d)\d{7}$";

    /**
    15 * 中国联通:China Unicom
    16 * 130,131,132,152,155,156,175,176,185,186
    17 */
    NSString * CU = @"^1(3[0-2]|5[256]|7[56]|8[56])\d{8}$";

    /**
    20 * 中国电信:China Telecom
    21 * 133,1349,153,177,180,189
    22 */
    NSString * CT = @"^1((33|53|77|8[09])[0-9]|349)\d{7}$";

    /**
    25 * 大陆地区固话及小灵通
    26 * 区号:010,020,021,022,023,024,025,027,028,029
    27 * 号码:七位或八位
    28 */
    NSString * PHS = @"^0(10|2[0-5789]|\d{3})\d{7,8}$";

    NSPredicate *regextestmobile = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", MOBILE];
    NSPredicate *regextestcm = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CM];
    NSPredicate *regextestcu = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CU];
    NSPredicate *regextestct = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CT];
    NSPredicate *regextestPHS = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", PHS];

    if(([regextestmobile evaluateWithObject:self] == YES)
    || ([regextestcm evaluateWithObject:self] == YES)
    || ([regextestct evaluateWithObject:self] == YES)
    || ([regextestcu evaluateWithObject:self] == YES)
    || ([regextestPHS evaluateWithObject:self] == YES)){
    return YES;
    }else{
    return NO;
    }
    }

//判断手机号码

  • (BOOL)isValidateCellPhoneNumber{
    /**

    • 手机号码
    • 移动:134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188
    • 联通:130,131,132,152,155,156,185,186
    • 电信:133,1349,153,180,189
      */
      NSString * MOBILE = @"^1(3[0-9]|5[0-35-9]|8[025-9])\d{8}$";

    /**
    10 * 中国移动:China Mobile
    11 * 134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188
    12 */
    NSString * CM = @"^1(34[0-8]|(3[5-9]|5[017-9]|8[278])\d)\d{7}$";

    /**
    15 * 中国联通:China Unicom
    16 * 130,131,132,152,155,156,175,176,185,186
    17 */
    NSString * CU = @"^1(3[0-2]|5[256]|7[56]|8[56])\d{8}$";

    /**
    20 * 中国电信:China Telecom
    21 * 133,1349,153,177,180,189
    22 */
    NSString * CT = @"^1((33|53|77|8[09])[0-9]|349)\d{7}$";

NSPredicate *regextestmobile = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", MOBILE];
NSPredicate *regextestcm = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CM];
NSPredicate *regextestcu = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CU];
NSPredicate *regextestct = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CT];

if(([regextestmobile evaluateWithObject:self] == YES)
   || ([regextestcm evaluateWithObject:self] == YES)
   || ([regextestct evaluateWithObject:self] == YES)
   || ([regextestcu evaluateWithObject:self] == YES)){
    return YES;
}else{
    return NO;
}

}

//简单判断是否为电话号码

  • (BOOL)isMobileNumberOnly
    {

    NSString * MOBILE = @"^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\d{8}$";

    NSPredicate *regextestmobile = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", MOBILE];

    if ([regextestmobile evaluateWithObject:self] == YES)
    {
    return YES;
    }
    else
    {
    return NO;
    }
    }

最简单判断手机号码

相关文章

网友评论

      本文标题:正则判断号码

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