【问题标题】:The right way to search phone numbers搜索电话号码的正确方法
【发布时间】:2017-12-06 11:51:38
【问题描述】:

在我的应用程序中,我通过服务器上的电话号码搜索用户。 我遇到过这样一个问题:在我的国家,你可以把电话号码写成'8xxxxxxxx''+7xxxxxxxx''7xxxxxxxx'强>。 所以我应该进行搜索,以便仍然可以找到以不同符号书写的数字。 但是在不同的国家又是怎样的呢?数字是怎么写的?有没有办法执行有效的搜索?

【问题讨论】:

  • 如果您想覆盖世界任何地方的电话号码,那么是的,您可能需要了解每个国家/地区代码。可能有一个库已经处理了这个问题,或者您可以在 SO 上搜索以寻求帮助。

标签: java android search phone-number


【解决方案1】:

您可能希望查看 E.164 标准格式。

E.164 以易于人类阅读和机器可解析的格式组织电话号码和所有必要的本地化信息。它定义了一种简单的格式,用于将电话号码明确存储在易于阅读的字符串中。该字符串以 + 号开头,后跟国家/地区代码和“用户”号码,即电话号码,没有任何上下文前缀,例如本地拨号代码、国际拨号代码或格式。

存储为 E.164 的号码可以很容易地在适当的上下文中解析、格式化和显示,因为电话号码的上下文会极大地影响其格式。

负责此操作的库称为 Google’s libphonenumber。使用 libphonenumber,您可以非常轻松地解析、验证和格式化电话号码输入,在您键入格式时执行此操作,甚至收集有关号码的额外信息,例如它是移动电话还是固定电话,或者它来自哪个州或省。 Libphonenumber 的基本形式由 XML 文件中的一组规则和正则表达式组成,用于分解和解析数字。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-04
    • 2011-04-12
    相关资源
    最近更新 更多