从电话号码获取国家/地区代码 - 目标C.

时间:2012-03-13 02:54:14

标签: objective-c ios5

我在尝试从个人通讯录中捕获的电话号码中获取国家/地区代码时遇到问题。例如,我的意图是以下选项:

00 34 633 445 433

+34 633 445 433

在一个变量中获取34个国际代码,在另一个变量中获取没有国际代码的电话号码。我已经调查了可能的辅助库或NSString apis,但我找不到解决方案。

由于

1 个答案:

答案 0 :(得分:4)

这是非平凡的(或至少非常繁琐)。国家/地区代码可以是各种长度(1-3位数),因此您必须在代码中有完整的列表才能解决这个问题。这些值有时会发生变化,这可能需要更改代码。但在大多数情况下,法律国家代码本身并没有改变;他们所指的国家。

您需要的表格为ITU-T E.164Wikipedia页面也很方便。

如果你想把“00”当作“+”处理,那么你也需要自己编码。

万一你最后转向另一个方向(将国家代码转换为国家/地区),请记住目前存在一些模棱两可的案例。最常见的影响是+1,这是NANP的全部。那是美国,加拿大以及加勒比海地区的很多(但不是全部)。有时人们认为这意味着“美国”。另一个很大的模糊不清是俄罗斯和哈萨克斯坦,它们都是+7。还存在其他轻微的混淆,主要是由于领土争议,但这些是两个最大的顶级模糊。