【发布时间】:2012-02-04 21:13:15
【问题描述】:
是否有任何 node.js 库接收电话号码(任何格式),将其转换为默认格式并告诉我有关号码的信息(例如:国家、城市等)?
【问题讨论】:
标签: javascript node.js twilio
是否有任何 node.js 库接收电话号码(任何格式),将其转换为默认格式并告诉我有关号码的信息(例如:国家、城市等)?
【问题讨论】:
标签: javascript node.js twilio
我不知道有一个,我还搜索了npm registry。
Google 有 libphonenumber 用于处理电话号码并有一个 javascript API。
来自他们的网站:
Google 常用的 Java、C++ 和 Javascript 解析库, 格式化、存储和验证国际电话号码。这 Java 版本针对在智能手机上运行进行了优化。
还有一个关于获取电话国家代码的 SO 帖子:List of phone number country codes
【讨论】:
PhoneNumberOfflineGeocoder 看起来很完美。
虽然不是 Node.js 库,但我认为 Number Laundry 会满足您的要求(尽管它们似乎只返回国家,而不是城市):
Number Laundry 是一个微型 API,它接受电话号码并以 json 格式返回有用信息:
由于您使用 twilio 标记了问题,您可能希望它返回 Twilio 费率数据以及其他信息:
{
// The number you passed us
"source": "+45 66 22 22 12",
"error": false,
// A nice clean format for your database (only: 0-9 and +)
"clean": "+4566222212",
// Twilio rate data
"twilio": {
"rate": "0.033",
"prefix": "45"
},
// Country information (when available)
"country": {
"name": "Denmark",
"code": "DK",
"flag": "http:\/\/numberlaundry-icons.s3.amazonaws.com\/dk.png"
}
}
他们有source on github,所以如果你愿意的话,你可以把它移植到节点上。如果您要查找的不仅仅是国家/地区信息,请查看 NumberGuru(尽管它们处于有限的 alpha 阶段)。
【讨论】:
我最近构建了一个在 NodeJs 上运行 libphonenumber 的库:https://github.com/Socialcam/node-libphonenumber
它可能只是解决您的问题,您可以在 Heroku 上快速部署它!
【讨论】:
还可以考虑 Google 的 libphonenumber 的简化纯 javascript 端口(无外部依赖项):
https://github.com/halt-hammerzeit/libphonenumber-js
【讨论】: