如何检查用户输入的电话号码在Objective c中是否有效?

在我的项目中,我validation了一个国家代码的电话号码,如果用户输入号码是44557788991并选择国家US.same,就像其他国家一样,我如何检查电话号码是否有效。

在此处输入图像描述

点击按钮我必须检查号码是否有效。

我想你想检查国家的数字。 为此你必须使用以下演示

https://github.com/rmaddy/RMPhoneFormat

对于英国

RMPhoneFormat *fmt = [[RMPhoneFormat alloc] initWithDefaultCountry:@"uk"]; NSString *numberString = // the phone number to format NSString *formattedNumber = [fmt format:numberString]; 

对于澳大利亚

 RMPhoneFormat *fmt = [RMPhoneFormat instance]; NSString *callingCode = [fmt callingCodeForCountryCode:@"AU"]; // Australia - returns 61 NSString *defaultCallingCode = [fmt defaultCallingCode]; // based on current Region Format (locale) 

等等…

您可以使用NSDataDetector检查电话号码是否有效:

 - (BOOL)isValidPhoneNumber:(NSString*)phoneNumber { NSDataDetector *detector = [NSDataDetector dataDetectorWithTypes:NSTextCheckingTypePhoneNumber error:nil]; NSTextCheckingResult *result = [detector firstMatchInString:phoneNumber options:NSMatchingReportCompletion range:NSMakeRange(0, [phoneNumber length])]; if ([result resultType] == NSTextCheckingTypePhoneNumber) { return YES; } return NO; }