2

在我的项目中,我验证了一个带有国家代码的电话号码,例如用户输入的号码是否为 44557788991 并选择美国国家。与其他国家一样,我如何检查电话号码是否有效。

在此处输入图像描述

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

4

2 回答 2

7

我认为您想检查国家/地区的数量。为此,您必须使用以下演示

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)

等等...

于 2013-06-12T10:49:24.043 回答
1

您可以使用 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;
}
于 2018-02-13T12:45:20.627 回答