Ios 使用NSDataDetector验证电话号码
如何使用NSDataDetector验证电话号码。在我的项目中,大于14文本长度的任何内容都是有效的,但NSDataDetector不会以这种方式检测它Ios 使用NSDataDetector验证电话号码,ios,validation,nsdatadetector,Ios,Validation,Nsdatadetector,如何使用NSDataDetector验证电话号码。在我的项目中,大于14文本长度的任何内容都是有效的,但NSDataDetector不会以这种方式检测它 我正在使用以下stackoverflow帖子中的代码:您不能使用NSDataDetector它只在[10\u 7,4\u 0] 因此,它是一种简单而正确的验证电话号码的方法,就像贝娄方式,而不是NSDataDetector NSString *string =@"121453315"; NSString *phoneRege
我正在使用以下stackoverflow帖子中的代码:您不能使用
NSDataDetector
它只在[10\u 7,4\u 0]
因此,它是一种简单而正确的验证电话号码的方法,就像贝娄方式,而不是NSDataDetector
NSString *string =@"121453315";
NSString *phoneRegex = @"^((\\+)|(00))[0-9]{6,14}$";
NSPredicate *phoneTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", phoneRegex];
BOOL phoneValidates = [phoneTest evaluateWithObject:string];
对常规电话号码使用NSDataDetector,并添加一个只匹配14位以上电话号码的特殊正则表达式,以添加缺少的结果。对于较短的电话号码,NSDataDetector比您可以编写的任何正则表达式都要精确得多…正则表达式似乎是唯一的方法。我读到最好使用NSDataDetector,因为它会根据国家/地区检查电话号码,但在我的情况下,如果客户希望允许超过14个字符,我将不得不使用RegEx。谢谢@Nitin@Joy不明白为什么你在接受答案后又不接受。。不管怎样,我很抱歉,但我第一次点击的答案没有经过测试就被接受了。但是,当我测试时,它似乎并没有验证在使用NStasaDebug时被验证的OK的电话号码。