NSPredicate电话号码

Bab*_*oot 5 nspredicate ios

我的电话号码格式是(987)786-5645.

- (BOOL)validatePhoneNumberWithString:(NSString*)phone
{
    NSString *pNRegex = @"[(0-9)]{3}+\\ +\\[0-9-]{3}+\\[0-9]{4}";
    NSPredicate *PNTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", pNRegex];
    return [PNTest evaluateWithObject:phone];
}
Run Code Online (Sandbox Code Playgroud)

我正在使用上面的代码.

这应该是什么样的正则规则?我能够弄清楚数字和括号.

关闭括号后我应该用什么来检测空格?

Mad*_*huP 3

用这个替换你的 pNRegex ,

NSString *pNRegex = @"^(\\([0-9]{3}\\) |[0-9]{3}-)[0-9]{3}-[0-9]{4}$";
Run Code Online (Sandbox Code Playgroud)

希望对您有帮助。