电话号码验证与格式化工具
基于 Google libphonenumber 数据验证任意国家的电话号码:有效或可能有效、手机/固话类型,以及 E.164、国际和国内格式。
国际格式(+…),或国内号码并选择默认国家/地区。
使用 libphonenumber-js(基于 Google libphonenumber 元数据)在本地校验。有效号码表示符合官方编号规则,但仍可能未分配或已停用。
什么是 电话号码验证器?
这个工具检查电话号码对其所属国家的编号计划是否有效,并将其格式化为 E.164、国际、国内和 tel: URI(RFC 3966)格式。在编号计划允许的情况下,它还会识别线路类型,如手机、固话、免费电话、增值电话、VoIP 等。
如何使用 电话号码验证器
- 以国际格式(以 + 开头)输入号码,或输入国内号码。
- 对于国内号码,选择默认国家。
- 查看结论(有效、仅长度可能有效或无效)、国家和线路类型。
- 复制 E.164 格式用于数据库和短信 API,或复制国内格式用于显示。
示例
输入
0912 345 678 (default country: Vietnam)
输出
Valid · Vietnam (VN) · Mobile · E.164 +84912345678 · international +84 912 345 678 · national 0912 345 678
+1 650 253 0000 会得到 +16502530000 和 (650) 253-0000。
何时使用 电话号码验证器
适合在存储之前把电话号码规范化为 E.164、验证表单输入或格式化号码以便显示。结果有效表示号码符合官方编号计划,但它仍可能未分配、已携号转网或已停机,而且工具无法判断号码属于谁。
电话号码验证器 的工作原理
验证使用 libphonenumber-js,并采用源自 Google libphonenumber 的完整(“max”)元数据。号码会被解析为国家/地区呼叫码和国内号码,然后按各线路类型与该国的号码模式匹配;“可能有效”的号码长度合理,但不匹配任何已分配的模式。该库按需加载,完全在你的浏览器中运行。
常见用例
- 把 0912 345 678 这样的本地号码转换为 +84912345678,供短信网关使用。
- 发送短信之前,检查号码是否为手机号。
- 把 CRM 导出的电话号码统一为同一种格式。
- 为发票或网站格式化国际号码。
常见问题
什么是 E.164?
这是 ITU 的标准格式:一个 + 加国家/地区代码和国内号码,不含空格,最多 15 位,例如 +442079460958。大多数 API 都要求这种格式。
为什么美国号码显示为“固话或手机”?
在北美编号计划中,手机和固话共用相同的号段,所以仅凭号码无法确定类型。
号码会被发送到服务器吗?
不会。验证使用内置的元数据在本地运行。