次の形式の電話番号を検証する必要があります
(974) 041-0475
正規表現を試しまし@"^+(?:[0-9] ?){6,14}[0-9]$"
たが、上記の例では機能しません。それは普通の数字のために働いています。
次の形式の電話番号を検証する必要があります
(974) 041-0475
正規表現を試しまし@"^+(?:[0-9] ?){6,14}[0-9]$"
たが、上記の例では機能しません。それは普通の数字のために働いています。
You can use any of the regex according to your requirement
\(\d+\)\s*?\d+\-\d+
OR
\(\d{3}\)\s*?\d{3}\-\d{4}
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];
}