NSRegularExpression 匹配正则表达式 oc iOS

1.简单验证手机号是否正确

NSString *string = @"13156******";  //此处手机号做个屏蔽,
    NSString *regex = @"1[358][0-9]{9}";
    NSError *error;
    NSRegularExpression *regular = [NSRegularExpression regularExpressionWithPattern:regex options:NSRegularExpressionCaseInsensitive error:&error];
    if(error) return;
    NSInteger count = [regular numberOfMatchesInString:string options:NSMatchingReportCompletion range:NSMakeRange(0, string.length)];
    NSLog(@"%ld",(long)count);

2.搜索字符串内部是否有手机号

    NSString *string = @"hahahahah13156******";
    NSString *regex = @"1[358][0-9]{9}";
    NSError *error;
    NSRegularExpression *regular = [NSRegularExpression regularExpressionWithPattern:regex options:NSRegularExpressionCaseInsensitive error:&error];
    if(error) return;
    
    [regular enumerateMatchesInString:string options:NSMatchingReportCompletion range:NSMakeRange(0, string.length) usingBlock:^(NSTextCheckingResult * _Nullable result, NSMatchingFlags flags, BOOL * _Nonnull stop) {
        NSRange matchRange = result.range;
        NSLog(@"range:%@",NSStringFromRange(matchRange));
        NSString *resultString = [string substringWithRange:matchRange];
        NSLog(@"result ========   %@",resultString);
    }];

代码运行一遍,resultString 就是咱们要的手机号啦,开心不

 

转载于:https://my.oschina.net/u/2964974/blog/840929

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值