我如何在Perl比较国际电话号码?(How can I compare international

2019-09-29 14:43发布

是否有可以帮助我要相等比较的电话号码的任何模块?

例如,下面的三个数字是相当的(从英国拨打时)

+44 (0)181 1234123
00441811234123
0181 1234123

是否有一个Perl模块,可以告诉我吗?

Answer 1:

我可以上看到最近的CPAN是数::电话这是一个活跃的项目,并支持英国的电话号码。 它应该为你工作给出具体的例子。 有几个国家的支持。

如果你有电话号码为其他国家事情会变得更加困难,因为本地格式的特质。



Answer 2:

假设你需要的代码不存在,你必须自己编写,有你需要做的两种基本操作:

  1. 应用背景。 这是你把拨打电话的位置考虑。 如果呼叫是不是国际化,您提供的国家代码; 如果调用不是长途,您提供的区号等。这当然需要的每个区域设置一些规则。

  2. 规范化。 (在NANPA,“00”,在世界上大多数其他地区的“011”,但偶尔很多怪异的事情)删除无意义的空格和标点符号,转化国际拨号前缀以标准的“+”。

完成这两个步骤正确后,即实际上相当于数字全部输入应该给予相同的输出字符串。



文章来源: How can I compare international phone numbers in Perl?