我们如何显示国际电话号码格式,如联系人号码格式?

Posted

技术标签:

【中文标题】我们如何显示国际电话号码格式,如联系人号码格式?【英文标题】:How we show the International Phone Numbers format like as Contacts number format? 【发布时间】:2017-07-31 08:53:19 【问题描述】:

我喜欢在应用程序屏幕上显示国际电话号码,就像 Apple Contacts 应用程序(iPhone 6)使用的格式一样。 例如:+1 (xxx) xxx-xxxx, +91 xxxxx xxxxx, +61 (0) x xxxx xxxx, xxxxx xxxxx。

我们能否部署标准的 Apple 电话号码显示格式,就像他们在 ios 通讯录应用中排列电话号码的方式一样。

请给我一些建议以继续....

是否有任何第三方 API 可用于识别号码并返回号码格式,如联系人应用号码格式。请告诉我...

我正在等待您的宝贵回复....

提前致谢。

【问题讨论】:

希望以下链接对您有所帮助,请参考***.com/questions/7709450/… 【参考方案1】:

请试试这个代码:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string

    int groupingSize = 2;
    if([string length] == 0) 
        groupingSize = 4;
    
    NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init] ;
    NSString *separator = @"-";
    [formatter setGroupingSeparator:separator];
    [formatter setGroupingSize:groupingSize];
    [formatter setUsesGroupingSeparator:YES];
    [formatter setSecondaryGroupingSize:2];
    if (![string  isEqual: @""] && (textField.text != nil && textField.text.length > 0)) 
        NSString *num = textField.text;
        num = [num stringByReplacingOccurrencesOfString:separator withString:@""];
        NSString *str = [formatter stringFromNumber:[NSNumber numberWithDouble:[num doubleValue]]];
        textField.text = str;
    
    return YES;

希望这会有所帮助!

【讨论】:

这将给出一个特定的格式,但我希望该格式是动态的,具体取决于国家代码、地区等......

以上是关于我们如何显示国际电话号码格式,如联系人号码格式?的主要内容,如果未能解决你的问题,请参考以下文章

如何显示格式化的联系电话?

小米手机3显示号码的格式如何设置成344?

国际直拨电话号码格式

标准化的国际电话号码字段格式为字符串

Android 格式化包含国家代码的国际电话号码字符串

UITextField电话号码