正则表达式判断手机号码运营商

来源:互联网 发布:数据挖掘工具软件 编辑:程序博客网 时间:2024/04/28 19:59
//判断运营商
+ (int)JudgePhoneNumber:(NSString *)phoneNum{    NSString * MOBILE = @"^1(3[0-9]|5[0-35-9]|8[025-9])\\d{8}$";    NSString * CM = @"^1(34[0-8]|(3[5-9]|5[017-9]|8[278])\\d)\\d{7}$";    NSString * CU = @"^1(3[0-2]|5[256]|8[56])\\d{8}$";    NSString * CT = @"^1((33|53|8[09])[0-9]|349)\\d{7}$";    // 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];     if ([regextestcm evaluateWithObject:mobileNum] == YES){        //移动        return 00;    }else if ([regextestct evaluateWithObject:mobileNum] == YES){        //电信        return 07;    }else if ([regextestcu evaluateWithObject:mobileNum] == YES){        //联通        return 02;    }else{        //可能还有未收录全的三大运营商号码,无法识别,后期会添加    }}



判断传入的号码字符串是否为电话号码

+ (BOOL)isPhoneNumber:(NSString *)phoneNum{    NSString * MOBILE = @"^1(3[0-9]|5[0-35-9]|8[025-9])\\d{8}$";    NSString * CM = @"^1(34[0-8]|(3[5-9]|5[017-9]|8[278])\\d)\\d{7}$";//移动    NSString * CU = @"^1(3[0-2]|5[256]|8[56])\\d{8}$";                //联通    NSString * CT = @"^1((33|53|8[09])[0-9]|349)\\d{7}$";             //电信    // NSString * PHS = @"^0(10|2[0-5789]|\\d{3})\\d{7,8}$";    NSPredicate *regextestmobile = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", MOBILE];    NSPredicate *<span style="font-family: Arial, Helvetica, sans-serif;">regextest</span><span style="font-family: Arial, Helvetica, sans-serif;">cm = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CM];</span>    NSPredicate *regextestcu = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CU];    NSPredicate *regextestct = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CT];    if (([regextestmobile evaluateWithObject:mobileNum] == YES)        || ([regextestcm evaluateWithObject:mobileNum] == YES)        || ([regextestct evaluateWithObject:mobileNum] == YES)        || ([regextestcu evaluateWithObject:mobileNum] == YES))    {        return YES;    }    else    {        return NO;    }}





0 0