iOS_最新手机号码正则表达式

3,533 阅读1分钟

网上的都是复制粘贴,没有更新的。

自己顺手写了个分享下。

//判断是否为正确的手机号码
+ (BOOL)checkIsPhoneNumber:(NSString *)number
{
    //2018最新手机段号正则
    NSString *phoneRegex = @"^((13[0-9])|(14[5|6|7|8])|(15[0|1|2|3|5|6|7|8|9])|(166)|(17[2|3|5|6|7|8])|(18[0-9])|(19[8|9]))\\d{8}$";
    NSPredicate *phoneTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",phoneRegex];
    return [phoneTest evaluateWithObject:number];
}

不过随着时间,运营商会更新新的手机段号。具体的判断还是要交由后台处理,所以在此推荐用下面的代码来判断。

//判断是否为正确的手机号码
+ (BOOL)checkIsPhoneNumber:(NSString *)number
{
    NSString *phoneRegex = @"^(1[3-9])\\d{9}$";
    NSPredicate *phoneTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",phoneRegex];
    return [phoneTest evaluateWithObject:number];
}