使用NSDataDetector验证电话号码

时间:2013-08-19 09:36:17

标签: ios validation nsdatadetector

如何使用NSDataDetector验证电话号码。在我的项目中,高于14文本长度的任何内容也都有效,但NSDataDetector没有检测到它。

我正在使用以下stackoverflow帖子中的代码:NSTextCheckingResult for phone numbers

2 个答案:

答案 0 :(得分:1)

您无法仅使用其NSDataDetector [10_7,4_0]

enter image description here

因此,简单而正确的方式来验证电话号码,而不是NSDataDetector

    NSString *string =@"121453315"; 
    NSString *phoneRegex = @"^((\\+)|(00))[0-9]{6,14}$";
    NSPredicate *phoneTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", phoneRegex];
    BOOL phoneValidates = [phoneTest evaluateWithObject:string];

答案 1 :(得分:0)

将NSDataDetector用于常规电话号码,并添加一个特殊的正则表达式,仅匹配您的应用程序需要添加缺失结果的14位+电话号码。对于较短的电话号码,NSDataDetector将比您可能编写的任何正则表达式准确得多......