对于我的应用程序,我需要一个通用的电话号码格式方案。不幸的是,电话簿中的号码并不共享相同的方案。例如
- (707) 555-1854
- 555-610-6679
- 06641234567
- +43 664 1234567
- 00436641234567
iOS 平台上是否有某种数字格式化程序可以将这些数字转换为如下所示的方案:
+'国家代码''号码'
我如何获得本地号码的正确国家代码?
谢谢你的帮助。
对于我的应用程序,我需要一个通用的电话号码格式方案。不幸的是,电话簿中的号码并不共享相同的方案。例如
iOS 平台上是否有某种数字格式化程序可以将这些数字转换为如下所示的方案:
+'国家代码''号码'
我如何获得本地号码的正确国家代码?
谢谢你的帮助。
虽然不是您正在寻找的完美匹配,但有一个开源库可能会有所帮助:RMPhoneFormat ( https://github.com/rmaddy/RMPhoneFormat )。它使用来自 Apple 的二进制文件 PhoneFormats.dat 来根据给定的语言环境格式化数字。格式化数字很简单:
RMPhoneFormat *fmt = [[RMPhoneFormat alloc] init];
NSLog(@"num: %@", [fmt format:@"7075551854"]); // outputs (707) 555-1854 for US locale
它也适用于国家/地区代码,因此如果您将 a 添加+1
到您知道在美国的数字,这些数字的格式将如下所示:+1 (707) 555-1854
. 对于以零开头的欧洲数字,您可以修剪前导0
并添加适当的国家/地区代码。