在我的应用程序中,我通过服务器上的电话号码搜索用户。 我遇到过这样的问题:在我的国家/地区,您可以将电话号码写为' 8xxxxxxxx' 和' + 7xxxxxxxx' 和' 7xxxxxxxx' 。 所以我应该执行搜索,以便仍然可以找到用不同符号编写的数字。 但是在不同的国家呢?这些数字是如何写的?有没有办法进行有效的搜索?
答案 0 :(得分:1)
您可能希望查看E.164标准格式。
E.164以易于人类阅读和机器可解析的格式组织电话号码,其中包含所有必要的本地化信息。它定义了一种简单的格式,用于将电话号码明确地存储在易于阅读的字符串中。该字符串以+号开头,后跟国家代码和“订户”号码,该号码是电话号码,没有任何上下文前缀,如本地拨号代码,国际拨号代码或格式。
存储为E.164的数字可以在适当的上下文中轻松解析,格式化和显示,因为电话号码的上下文会极大地影响其格式。
负责此操作的图书馆名为 Google’s libphonenumber 。使用libphonenumber,您可以非常轻松地解析,验证和格式化电话号码输入,在键入格式时执行,甚至可以收集有关号码的额外信息,例如它是移动电话还是固定电话,或者它来自哪个州或省。 Libphonenumber的基本形式包括XML文件中的一组规则和正则表达式,用于分解和解析数字。