使用NSDataDetector验证电话号码

使用NSDataDetector验证电话号码

问题描述:

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

我使用从以下计算器职位代码:NSTextCheckingResult for phone numbers

不能使用NSDataDetector其提供的仅[10_7,4_0]

enter image description here

所以它很容易和适当的方式来验证电话号码像下面的方式而不是NSDataDetector

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

正则表达式似乎认为这是唯一的方法。我读过使用NSDataDetector更好,因为它检查基于国家的电话号码,但在我的情况下,如果客户想要允许超过14个字符,我将不得不使用RegEx。谢谢。 @Nitin – Anand

+0

设置PhoneRegex为你需要thx和不错的工作@joy –

+0

@Joy没有得到你为什么你接受答案后再次unAcept .. anyWayay它的好 –

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