电话没有使用正则表达式进行验证-Ph. Format (974) 041-0475 [重复]
Posted
技术标签:
【中文标题】电话没有使用正则表达式进行验证-Ph. Format (974) 041-0475 [重复]【英文标题】:Phone No validation with regular expression - Ph. Format (974) 041-0475 [duplicate] 【发布时间】:2013-05-29 07:46:36 【问题描述】:我必须验证以下格式的电话号码
(974) 041-0475
我尝试过使用正则表达式@"^+(?:[0-9] ?)6,14[0-9]$"
,但它不适用于上述示例。它适用于普通数字。
【问题讨论】:
【参考方案1】:You can use any of the regex according to your requirement
\(\d+\)\s*?\d+\-\d+
OR
\(\d3\)\s*?\d3\-\d4
【讨论】:
【参考方案2】:US Phone Number Validation
NSString *unformatted = textField.text;//pass textfield object with text property
NSArray *stringComponents = [NSArray arrayWithObjects:[unformatted substringWithRange:NSMakeRange(0, 3)],
[unformatted substringWithRange:NSMakeRange(3, 3)],
[unformatted substringWithRange:NSMakeRange(6, [unformatted length]-6)], nil];
NSString *formattedString = [NSString stringWithFormat:@"(%@)%@-%@",
[stringComponents objectAtIndex:0], [stringComponents objectAtIndex:1],
[stringComponents objectAtIndex:2]];NSLog(@"Formatted Phone Number: %@", formattedString);
- (BOOL) validatePhoneWithString:(NSString *)phone
NSString *str = @"(([+]1|[0]2)0,1+[1]1)0,1+[ ]0,1+(?:[-( ]0,1[0-9]3[-) ]0,1)0,1+[ ]0,1+[0-9]2,3+[0-9- ]4,8";
NSPredicate *no = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",str];
return [no evaluateWithObject:phone];
【讨论】:
这似乎是从***.com/a/7527645 和***.com/a/7954218 复制粘贴的,请在逐字使用时注明来源。以上是关于电话没有使用正则表达式进行验证-Ph. Format (974) 041-0475 [重复]的主要内容,如果未能解决你的问题,请参考以下文章