我们是否有方法来确定电话号码是否包含国家/地区代码?

时间:2014-05-29 08:15:50

标签: phone-number

正如我们在现代智能手机上运行的方式,如果我们拨打没有国家/地区代码的号码,默认情况下它会使用用户的当前国家/地区代码。相反,如果我们拨打特定国家/地区代码,我们的智能手机可以自行识别国家/地区代码。

我想做的与它类似。如果用户输入了电话号码,我想知道它是否包含国家/地区代码。

4 个答案:

答案 0 :(得分:0)

在数据库中注册国家/地区代码列表,其中包含电话号码的长度。例如。对于新加坡,国家代码为65,标准电话号码为8,因此,您的程序将首先读取该数字的前几个数字,并尝试将其与国家/地区代码相匹配。如果匹配,则计算剩余数字的长度。因此,如果两者都匹配,您将知道该号码属于哪个国家/地区。

-KLET

答案 1 :(得分:0)

如果用户输入的数字符合RFC3966,则为是,您可以识别+。但是,用户遵循RFC3966格式的次数与符合ISO-8601的格式一样频繁。

因此,您仍然坚持使用启发式和本地约定,请参阅National conventions for writing telephone numbers。长度通常是一个很好的指标。

答案 2 :(得分:0)

国家代码不多。

我在需要的几个场合手动操作,在webpage上搜索我正在检查的电话号码的第一个号码。

我有一个应用程序,可以更改我的联系人电话号码,以清除国家/地区代码,如果他们在我的国家,忘了名字。所以它应该是可能的。也许他们使用的数据库包含已知的国家/地区代码。

显示解决问题的好方法的答案是:Algorithm to determine international calling code from phone number

我经常需要引用它。我用同样的方法来确定是否有城市代码(当然还有其他网页)。因为固定电话不需要城市代码,如果我在同一个城市,但我的手机只知道这个国家,而不是我所在的城市。

答案 3 :(得分:0)

使用TrueCaller 如果号码有国家代码,它将显示下面国家的名称,否则给出原始国家。