我想使用 Nexmo 或 Twilo 等服务验证我的用户电话号码。
要通过这些服务发送消息,我需要提供国际号码,但是,我不想要求我的用户提供完整的国际号码 - 只是他们会向自己的任何人提供的正常号码国家(我不希望他们知道他们的国际拨号代码等)。
那么将本地号码转换为国际号码的最佳方法是什么?除了电话号码外,每个用户还需要提供他们的国家/地区。 (我的用户群将是国际性的。)
我是否应该在“国家/地区”表中添加一个额外字段来保存国际拨号代码 - 然后构建完整的国际号码?这似乎没问题,直到您考虑到某些国家/地区要求省略数字开头的 0,而其他国家/地区则不需要。
有更简单的方法吗?或者有 gem 可以做到这一点?
最佳答案
Google 的开源 libphonenumber项目可能是任何涉及电话号码的工作的最佳工具。给定一个国家/地区和电话号码,libphonenumber 可用于生成 E.164 Twilio 喜欢的格式。它还可以生成示例电话号码,以提高您首先收集的数据的准确性。一个ruby port可用。在 php 中使用 libphonenumber 的示例 Twilio 应用程序可以在 Twilio Skills training 中找到。 .
关于ruby-on-rails-4 - 将本地号码转换为国际格式(用于 Rails 和 Nexmo/Twilo 等服务),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29066247/