gpt4 book ai didi

algorithm - 使用格式化和未格式化的电话号码匹配用户(来自联系人,国际)

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:00:05 30 4
gpt4 key购买 nike

这就是我们所拥有的:

数据库中的用户,包括 phone_number 字段。当用户创建他们的帐户时,他们必须输入他们的电话号码。我们可以要求特定的格式,我们会这样做:

+ [countrycode] [phone number]

用户选择国家代码并添加所需的号码。我们当然假设他输入正确。

现在他在数据库中,我们正在尝试将其他用户与我们在他的联系人中找到的号码相匹配。这是我们遇到问题的地方:

他可以用不同的号码格式(国内、国际、带+、不带+)保存他的联系人。我将以比利时数字为例来说明我的观点:

+32 495 12 34 56 (international)
0032 495 12 34 56 (international)
0 495 12 34 56 (national)

我猜大多数用户会使用国家格式保存他们的联系人,这就是问题所在。

我们的应用程序需要国际格式,我们需要将数据库中的用户与联系人进行比较(这是我们“传播应用程序”计划的一部分),让用户选择是否可以邀请联系人或不是。并且我们不想向没有安装该应用程序的人展示(除其他外)。

How can I know if the phone number is formatted internationnaly or nationally, and either way, how can I transform it to be international?

如果有 + 我可以假设它的格式正确,所以我没有问题。如果没有,我该怎么办?我想过这个,但我什至不确定:

  • 任何以 00 开头的号码都是 100% 国际号码?我只需将 00 更改为 + 就可以了?
  • 任何不符合其他两个标准的数字,我...?我什至不知道。

也许获取世界上所有的数字格式并使用长得令人难以置信的 switch 语句将其转换为正确的国际格式?我怀疑这是正确的答案。

无论如何,任何线索/建议/解决方案显然是最受欢迎的!

注意:我正在使用 Parse.com 来存储数据,如果这对您有帮助的话。

最佳答案

也许 libphonenumber 就是您要搜索的内容:https://code.google.com/p/libphonenumber/

关于algorithm - 使用格式化和未格式化的电话号码匹配用户(来自联系人,国际),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26420010/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com