iOS 2017 最新手机号正则判断

OC版:

//判断手机号
- (BOOL)checkoutPhoneNum: (NSString *)phoneNum {
    NSString *regexStr = @"^1[3,8]\\d{9}|14[5,7,9]\\d{8}|15[^4]\\d{8}|17[^2,4,9]\\d{8}$";
    NSError *error;
    NSRegularExpression *regular = [NSRegularExpression regularExpressionWithPattern:regexStr options:NSRegularExpressionCaseInsensitive error:&error];
    if (error) return NO;
    NSInteger count = [regular numberOfMatchesInString:phoneNum options:NSMatchingReportCompletion range:NSMakeRange(0, phoneNum.length)];
    if (count > 0) {
        return YES;
    } else {
        return NO;
    }
}

Swift(3.0.1):

func checkoutPhoneNum(for regex: String, in phoneNum: String) -> Bool {
    do {
        let regex = try NSRegularExpression(pattern: regex)
        let nsString = phoneNum as NSString
        let results = regex.matches(in: phoneNum, range: NSRange(location: 0, length: nsString.length))
        let resultArray = results.map { nsString.substring(with: $0.range) }
        print(resultArray.count)
        if resultArray.count > 0 {
            return true
        } else {
            return false
        }
    } catch let error {
        print("无效正则表达式: \(error.localizedDescription)")
        return false
    }
}

参考链接
github

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容