0

如何使用 NSDataDetector 验证电话号码。在我的项目中,任何高于 14 的文本长度也是有效的,但 NSDataDetector 不会以这种方式检测到它。

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

4

2 回答 2

1

您不能NSDataDetector仅在[10_7,4_0]中使用它

在此处输入图像描述

所以它的简单和正确的方法来验证电话号码就像下面的方式而不是NSDataDetector

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

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

于 2014-03-19T11:07:38.250 回答