iOS正则验证手机号的三种方式
来源:互联网 发布:magnet协议软件下载 编辑:程序博客网 时间:2024/05/20 00:15
//验证是否是手机号:手机号必须是11位以1开头的手机号,前面可以有86
//返回BOOL值,我是因为要直接使用三种才写的void,任选一种都可以,最好还是学一下正则的表达方式,上一篇
- (void)isValidateMobileNumber:(NSString *)string
{
//Pattern:查找条件
//验证手机号@"^(86)?+1+[0-9]{10}$"或者@"^(86)?(1)[0-9]{10}$"都可以
//正则说明:http://blog.csdn.net/linlinyin1991/article/details/50393550
//第一种:使用NSRegularExpression
//"^$":开头结尾 (86)?:以86开头或者没有 +1 :以1开头 [0-9]{10}:10个1-9的数字
NSRegularExpression * phoneRegular = [[NSRegularExpressionalloc]initWithPattern:@"^(86)?(1)[0-9]{10}$"options:NSRegularExpressionCaseInsensitiveerror:nil];
/*
typedef NS_OPTIONS(NSUInteger, NSMatchingOptions) {
NSMatchingReportProgress = 1 << 0, //找到最长的匹配字符串后调用block回调
NSMatchingReportCompletion = 1 << 1, //找到任何一个匹配串后都回调一次block
NSMatchingAnchored = 1 << 2, //从匹配范围的开始出进行极限匹配
NSMatchingWithTransparentBounds = 1 << 3, //允许匹配的范围超出设置的范围
NSMatchingWithoutAnchoringBounds = 1 << 4 //禁止^和$自动匹配行还是和结束
};
*/
NSArray * resultArr = [phoneRegularmatchesInString:stringoptions:NSMatchingReportProgressrange:NSMakeRange(0, string.length)];
NSLog(@"resultArr = %@",resultArr);
//第二种:使用NSPredicate查询
NSPredicate * predicate = [NSPredicatepredicateWithFormat:@"SELF MATCHES %@",@"^(86)+1+[0-9]{10}$"];
BOOL result = [predicateevaluateWithObject:string];
if (result) {
//查询到结果
}
//第三种:rangeOfString查询
NSString *searchText = string;
NSRange range = [searchTextrangeOfString:@"^(86)?+1+[0-9]{10}$"options:NSRegularExpressionSearch];
if (range.location !=NSNotFound) {
NSLog(@"rangeStr=%@", [searchTextsubstringWithRange:range]);
}
// //使用block方式
// [regular enumerateMatchesInString:string options:NSMatchingReportProgress range:NSMakeRange(0, string.length) usingBlock:^(NSTextCheckingResult * _Nullable result, NSMatchingFlags flags, BOOL * _Nonnull stop) {
// if (result)
// {
// NSLog(@"result = %@\nflags = %lu",result,(unsigned long)flags);
// }
// }];
}
- iOS正则验证手机号的三种方式
- iOS验证手机号的正则表达式
- iOS正则表达式之手机号的验证
- iOS验证手机号的正则表达式
- iOS 验证手机号、身份证号的正则
- 验证手机号的正则
- ios 手机号车牌号 正则验证
- ios 手机号车牌号 正则验证
- IOS用正则验证手机号
- 正则表达式:ios 手机号车牌号 正则验证
- iOS 正则表达式验证是否为正确的手机号
- 邮箱、手机号验证的正则
- 验证手机号的正则表达式
- 验证手机号的正则表达式
- 手机号验证的正则表达式
- 手机号验证的正则表达式
- iOS正则表达式-验证密码身份证手机号
- ios使用常用正则表达式验证手机号
- hdu 2602 Bone Collector(01背包)
- CALayer概念和用法---摘自培训文档
- 4.1 Collection,List,Set,Iterator,Map
- linux telnet连接两台内网机器No route to host
- git安装使用 (一)
- iOS正则验证手机号的三种方式
- 彻底理解position和anchorPoint!!!
- Android四大组件之:Activity
- android 网络图片异步加载
- 4.2 File
- 解决android studio can not load library from so file
- Libevent移植安卓
- 从相册选取图片作为头像
- Android获取验证码时的倒计时 CountDownTimer使用