手机号检测
来源:互联网 发布:crm管理网络开发 编辑:程序博客网 时间:2024/04/19 21:45
旧版正则检测:
- (BOOL)isMobileNumber:(NSString *)mobileNum{ /** * 手机号码 * 移动:134,135,136,137,138,139,147,150,151,152,157,158,159,170,178,182,183,184,187,188 * 联通:130,131,132,145,152,155,156,1709,171,176,185,186 * 电信:133,134,153,1700,177,180,181,189 */ NSString * MOBILE = @"^1(3[0-9]|4[57]|5[0-35-9]|7[01678]|8[0-9])\\\\d{8}$"; /** * 中国移动:China Mobile * 134,135,136,137,138,139,147,150,151,152,157,158,159,170,178,182,183,184,187,188 */ NSString * CM = @"^1(3[4-9]|4[7]|5[0-27-9]|7[0]|7[8]|8[2-478])\\\\d{8}$"; /** * 中国联通:China Unicom * 130,131,132,145,152,155,156,1709,171,176,185,186 */ NSString * CU = @"^1(3[0-2]|4[5]|5[56]|709|7[1]|7[6]|8[56])\\\\d{8}$"; /** * 中国电信:China Telecom * 133,134,153,1700,177,180,181,189 */ NSString * CT = @"^1(3[34]|53|77|700|8[019])\\\\d{8}$"; /** * 大陆地区固话及小灵通 * 区号:010,020,021,022,023,024,025,027,028,029 * 号码:七位或八位 */ // 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 (([regextestmobile evaluateWithObject:mobileNum] == YES) || ([regextestcm evaluateWithObject:mobileNum] == YES) || ([regextestct evaluateWithObject:mobileNum] == YES) || ([regextestcu evaluateWithObject:mobileNum] == YES)) { return YES; } else { return NO; }}
新版正则检测
+ (BOOL)isMobileNumber:(NSString *)mobileNum{ if (mobileNum.length != 11) { return NO; } /** * 手机号码: * 13[0-9], 14[5,7], 15[0, 1, 2, 3, 5, 6, 7, 8, 9], 17[0, 1, 6, 7, 8], 18[0-9] * 移动号段: 134,135,136,137,138,139,147,150,151,152,157,158,159,170,178,182,183,184,187,188 * 联通号段: 130,131,132,145,152,155,156,170,171,176,185,186 * 电信号段: 133,134,153,170,177,180,181,189 */ NSString *MOBILE = @"^1(3[0-9]|4[57]|5[0-35-9]|7[01678]|8[0-9])\\\\d{8}$"; /** * 中国移动:China Mobile * 134,135,136,137,138,139,147,150,151,152,157,158,159,170,178,182,183,184,187,188 */ NSString *CM = @"^1(3[4-9]|4[7]|5[0-27-9]|7[08]|8[2-478])\\\\d{8}$"; /** * 中国联通:China Unicom * 130,131,132,145,152,155,156,170,171,176,185,186 */ NSString *CU = @"^1(3[0-2]|4[5]|5[256]|7[016]|8[56])\\\\d{8}$"; /** * 中国电信:China Telecom * 133,134,153,170,177,180,181,189 */ NSString *CT = @"^1(3[34]|53|7[07]|8[019])\\\\d{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 (([regextestmobile evaluateWithObject:mobileNum] == YES) || ([regextestcm evaluateWithObject:mobileNum] == YES) || ([regextestct evaluateWithObject:mobileNum] == YES) || ([regextestcu evaluateWithObject:mobileNum] == YES)) { return YES; } else { return NO; }}
简易版新的
+ (BOOL)validateMobile:(NSString *)mobileNum
{
//手机号以13, 15,18, 14, 17开头,八个 \d 数字字符
NSString *phoneRegex = @“^1(3[0-9])”
@"^1(3[0-9]|4[57]|5[0-35-9]|7[01678]|8[0-9])\\\\d{8}$";
NSPredicate *phoneTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",phoneRegex];
return [phoneTest evaluateWithObject:mobileNum];
#pragma mark—————验证手机号码—————
{
//手机号以13, 15,18, 14, 17开头,八个 \d 数字字符
NSString *phoneRegex = @"^((13[0-9])|(15[^4,\\D])|(18[0,0-9])|(14[0-9])|(17[0-9]))\\d{8}$";
NSPredicate *phoneTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",phoneRegex];
return [phoneTest evaluateWithObject:mobileNum];
0 0
- 手机号检测
- 正则检测手机号
- android 检测手机号格式
- 正则表达式(检测手机号、检测邮箱)
- 检测字符串是否包含手机号,防止用户名包含手机号
- 手机号微信检测方法案例分析
- 批量检测手机号是否开通微信
- iOS 正则 检测是否为手机号
- 手机号
- 手机号
- js注册检测 用户名、密码、手机号、邮箱等
- 检测手机号开通微信软件的详细介绍
- Python检测手机号出现次数最多的数字
- 使用WebRequest 检测 手机号归属地。 C#通用 使用json 和可设定超时的WebClient
- 关于iOS在程序中检测sim卡切换和获取手机号的问题
- C#日记——正则表达式(以检测邮箱和手机号格式为例)
- 检测手机号qq号是否开通微信的优势和好处
- 使用手机号微信检测软件时常见的一些小问题
- 程序员进阶之路,转自知乎(作者:鼬自来晓)
- 迷宫最短路径问题-BFS
- AOP原理
- VNC实现的控制原理
- scala xml操作
- 手机号检测
- Android的按钮监听事件&自定义回调函数
- A trap about .net asynchronous programming
- String.format()用法
- Mysql 死锁发生时的详细分析方法
- 编码过滤器
- Android Studio 2.2进行ndk开发的注意事项
- 对称矩阵及对称矩阵的压缩存储
- iOS开发 - 新特性的坑之应用字体根据系统字体大小而变化