分配不同格式的相同数字以进行联系

时间:2016-08-28 19:14:09

标签: java

如何将不同格式的相同号码分配给一个联系人?

在三星手机应用程序中,

+1 8542569,8542569和18542569在调用时分配给一个联系人:"示例USA" :

enter image description here

即使"美国示例"只有电话簿中列出的+1 854-256-9:

enter image description here

这适用于每个国家,而不仅仅是美国。这是新西兰的一个例子:

enter image description here

^这里,"新西兰示例"已列出91234567。

而且,我可以致电91234567,006 9-123 4567或6491234567,他们都将被分配到"新西兰示例"接触:

enter image description here

我的问题是:如何在Java中为每个国家/地区做同样的事情,就像三星股票应用程序一样?

说我有3个字符串:91234567,00,69 9-123 4567和6491234567。 我的应用如何识别他们属于同一个联系人,并且他们的数字基本相同?

我确信它可以完成,因为三星做到了:)

同样,我希望代码适用于每个国家/地区。

1 个答案:

答案 0 :(得分:-1)

第1部分:删除起始零。 它们没用。它们可能很有用,但通过删除它们会更容易。 This quora link with be a bit useful

现在,国家/地区的电话号码位数不同。比如,印度有10个与新西兰和美国不匹配。

假设在删除特定区域代码后,每个国家/地区的数字都有特定的位数。

第2部分:您可以使用country codenumber of digits after that创建多维矩阵。匹配起始国家/地区代码,然后验证位数。

此方法可能与不同国家/地区发生冲突,但我对此事情缺乏了解。 例如。冲突:

Country A: country_code = +1, digits = 6
Country B: country_code = +12, digits =5

+1 234567
+12 34567