是否有任何 node.js 的库接收电话号码(任何格式),将其转换为默认格式并告诉我有关号码的信息(例如:国家、城市等)?
4 回答
我不知道,我还搜索了npm 注册表。
谷歌有处理电话号码的libphonenumber并有一个 javascript API。
从他们的网站:
Google 的通用 Java、C++ 和 Javascript 库,用于解析、格式化、存储和验证国际电话号码。Java 版本针对在智能手机上运行进行了优化。
还有一个关于获取电话国家代码的 SO 帖子: 电话号码国家代码列表
虽然不是 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"
}
}
他们在 github 上有源代码,因此如果需要,您可以将其移植到节点。如果您要查找的不仅仅是国家/地区信息,请查看 NumberGuru(尽管它们处于有限的 alpha 阶段)。
我最近建立了一个在 NodeJs 上运行 libphonenumber 的库:https ://github.com/Socialcam/node-libphonenumber
它可能只是解决您的问题,您可以在 Heroku 上快速部署它!
还可以考虑 Google 的简化纯 JavaScript 端口(无外部依赖项)libphonenumber
:
https ://github.com/halt-hammerzeit/libphonenumber-js