-6

我想检查一个字符串是否与美国电话号码匹配?(xxx)xxx-xxxx 或 xxx-xxx-xxxx

请帮助我,谢谢。

4

3 回答 3

2

利用

https://github.com/rmaddy/RMPhoneFormat

并检查喜欢

对于澳大利亚

RMPhoneFormat *formet = [RMPhoneFormat instance];
NSString *MyCode = [formet callingCodeForCountryCode:@"AU"];
NSString *defaultCallingCode = [formet defaultCallingCode];

对于印度

RMPhoneFormat *formet = [RMPhoneFormat instance];
NSString *MyCode = [formet callingCodeForCountryCode:@"IN"];
NSString *defaultCallingCode = [formet defaultCallingCode];

...

这里 MyCode 是Country 的返回码,例如..

对于澳大利亚,它返回 - 67
对于印度,它返回 - 91

于 2013-08-16T09:12:27.730 回答
2

我认为最好的解决方案是使用RMPhoneFormat

正如描述所说:

RMPhoneFormat *fmt = [[RMPhoneFormat alloc] init];
// Call any number of times
NSString *numberString = // the phone number to validate
BOOL valid = [fmt isPhoneNumberValid:fmt];

祝你好运 !

于 2013-08-16T09:12:57.577 回答
0

这应该很容易用正则表达式完成。浏览此文档http://developer.apple.com/library/mac/documentation/Foundation/Reference/NSRegularExpression_Class/Reference/Reference.html并尝试制作正则表达式以检查字符串是否与美国电话号码模式匹配。Internet上有很多关于objective-c正则表达式的非常好的教程。

于 2013-08-16T09:11:59.857 回答