我想检查一个字符串是否与美国电话号码匹配?(xxx)xxx-xxxx 或 xxx-xxx-xxxx
请帮助我,谢谢。
利用
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
我认为最好的解决方案是使用RMPhoneFormat。
正如描述所说:
RMPhoneFormat *fmt = [[RMPhoneFormat alloc] init];
// Call any number of times
NSString *numberString = // the phone number to validate
BOOL valid = [fmt isPhoneNumberValid:fmt];
祝你好运 !
这应该很容易用正则表达式完成。浏览此文档http://developer.apple.com/library/mac/documentation/Foundation/Reference/NSRegularExpression_Class/Reference/Reference.html并尝试制作正则表达式以检查字符串是否与美国电话号码模式匹配。Internet上有很多关于objective-c正则表达式的非常好的教程。