如何准确验证数据库中的电话号码?

时间:2014-03-26 15:22:43

标签: php mysql

我们正在制作一款应用,需要检查地址簿中的哪些联系人已经是我们应用的成员。我们有一个包含用户信息的MySQL表。此表包含所有现有成员的电话号码和国家/地区代码。

我们可以轻松执行MySQL IN语句,将所有电话号码与我们的数据库相匹配,但问题在于人们如何在地址簿中存储联系人。有些人将电话号码存储为国家/地区代我们如何正确匹配这些?

我们也可以与用户名匹配,但我们的需求特别是按电话号码搜索。

1 个答案:

答案 0 :(得分:1)

The national conventions for writing telephone numbers因国家/地区而异。

因此,在搜索条件中包含国家/地区以及电话号码是更好的选择。

如果您将电话号码存储在特定国家/地区的常规格式中,例如:

+--------+-----------+--------------------+----------------------------------------------------+
| India  | Land Line | +cc-(0)AAA-BBBBBBB | AAA - STD, and BBBBBBB - phone number              |
| India  | Mobile    | +cc-AAAAA-BBBBB    | AAAAA - STD, and BBBBB - phone number              |
| India  | Toll Free | 1-800-123456       | 10 digit number can be called from anywhere        |
+--------+-----------+--------------------+----------------------------------------------------+
| USA    | General   | (NPA) NXX-XXXX     | NPA - area code, and NXX-XXXX - subsccriber number |
+--------+-----------+--------------------+----------------------------------------------------+

然后,您不能只通过电话号码搜索。

搜索特定国家/地区的号码会更方便。

如果您仍希望仅按电话号码进行搜索,则可能需要删除国家/地区特定格式,然后仅对部分或完全匹配的电话号码进行比较。对于匹配的号码,您可能需要返回国家代码或姓名和电话号码。