手机号正则表达式验证

基础方法

/**

基础方法

@param regex 正则表达式

@return 正则验证成功返回YES, 否则返回NO

*/- (BOOL)isValidateByRegex:(NSString*)regex {NSPredicate*predicate = [NSPredicatepredicateWithFormat:@"SELF MATCHES %@",regex];return[predicate evaluateWithObject:self];}

一、验证手机号码  不区别运营商

/**

验证手机号码

@return 正则验证成功返回YES, 否则返回NO

*/- (BOOL)isMobileNumber {// @"^(13[0-9]|14[56789]|15[0-9]|16[6]|17[0-9]|18[0-9]|19[89])\\d{8}$";NSString*emailRegex =@"^1(3[0-9]|4[56789]|5[0-9]|6[6]|7[0-9]|8[0-9]|9[89])\\d{8}$";return[selfisValidateByRegex:emailRegex];}

二、验证手机号码  区别运营商

可点击查看哟

各运营商号段

/**

判断运营商

各个运营商开头号码不同 需要根据运营商更新

@return  正则验证成功返回YES, 否则返回NO

*/- (BOOL)isMobileNumberClassification {/**

    * 手机号码

    * 移动:134(0-8)、135、136、137、138、139、147、150、151、152、157、158、159、172、178、182、183、184、187、188、198

    *

    * 联通:130、131、132、145、155、156、166、175、176、185、186

    *

    * 电信:133、149、153、173、177、180、181、189、199

    *

        虚拟运营商

        电信:1700、1701、1702

        移动:1703、1705、1706

        联通:1704、1707、1708、1709、171

        卫星通信:1349

    *//**

                * 中国移动:China Mobile

                * 134(0-8)、135、136、137、138、139、147、150、151、152、157、158、159、172、178、182、183、184、187、188、198


    */NSString* CM =@"^1(34[0-8]|3[5-9]|47|5[0127-9]|8[23478]|198)\\d{8}$";/**

                * 中国联通:China Unicom

                * 130、131、132、145、155、156、166、175、176、185、186

    */NSString* CU =@"^1((3[0-2]|45|5[56]|166|7[56]|8[56]))\\d{8}$";/**

                * 中国电信:China Telecom

                * 133、149、153、173、177、180、181、189、199

    */NSString* CT =@"^1((33|49|53|7[37]|8[019]|199))\\d{8}$";if([selfisValidateByRegex:CM]) {NSLog(@"手机运营商是====CM---中国移动");returnYES;    }elseif([selfisValidateByRegex:CU]) {NSLog(@"手机运营商是====CU---中国联通");returnYES;    }elseif([selfisValidateByRegex:CT]){NSLog(@"手机运营商是====CT---中国电信");returnYES;    }else{returnNO;    }    }

作者:陈_Chen

链接:https://www.jianshu.com/p/b545ae8d2f6c

来源:

著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

你可能感兴趣的:(手机号正则表达式验证)