【问题标题】:Do we have a method to identify if a phone number includes a country code?我们是否有方法来识别电话号码是否包含国家代码?
【发布时间】:2014-05-29 08:15:49
【问题描述】:

就像它在我们现代智能手机上的运行方式一样,如果我们拨打一个没有国家代码的号码,默认情况下它将使用用户当前的国家代码。相反,如果我们用特定的国家代码拨号,我们的智能手机可以自己识别国家代码。

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

【问题讨论】:

    标签: phone-number


    【解决方案1】:

    国家代码不多。

    在少数需要的情况下,我手动执行此操作的方式是,在 webpage 上搜索我正在检查的电话号码的前几个号码。

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

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

    更多时候我需要它来引用。我用同样的方法来确定是否有城市代码(当然还有另一个网页)。因为座机不需要城市代码,如果我在同一个城市,但我的手机只知道国家,不知道我所在的城市。

    【讨论】:

      【解决方案2】:

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

      -KLET

      【讨论】:

        【解决方案3】:

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

        因此,您受困于启发式和本地惯例,请参阅National conventions for writing telephone numbers。一般来说,长度是一个很好的指标。

        【讨论】:

          【解决方案4】:

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

          【讨论】:

            猜你喜欢
            • 2011-03-08
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多