E.164
是国际电话编号计划,它可以确保 PSTN
上的每个设备具有全球唯一的号码,使得 电话和短信 正确路由到不同国家的个人电话。 E.164号码格式化为 [+] [国家代码] [用户号码,包括地区代码]
,最多可以有15
位数字。
公共交换电话网(Public Switched Telephone Network 或 简称
PSTN
)是一种用于全球语音通信的电路交换网络,是目前世界上最大的网络,拥有用户数量大约是8亿。
E.164 号码示例
E.164 Format | Country Code | Country | Subscriber Number |
---|---|---|---|
+1 4155552671 | 1 | US(美国) | 4155552671 |
+44 2071838750 | 44 | GB(英国) | 2071838750 |
+55 1155256325 | 55 | BR(巴西) | 1155256325 |
+85 15300830723 | 86 | CN(中国) | 15300830723 |
E.164 正则
有时您需要以编程方式验证字符串是否是效的E.164
电话号码格式。
如:获取表单中用户的电话号码,发送SMS 或 语音电话 以及 验证数据库中的电话号码。
根据国际电联E.164
的建议,电话号码格式必须是以+
开头的最多15位数字,并排除0作为第一个字符的电话号码(因为没有以0开头的国家代码)。
一个正则表达式示例: ^\+?[1-9]\d{1,14}$
这个正则也会匹配到无效的电话号码。
您需要指定一组更复杂的模式 来匹配全球所有国家的有效E.164
号码。
更简单和更强大的选择是使用Twilio Lookup API
来执行电话号码验证和格式化,而不是RegEx
(这是原味的的一个广告 😆)。
国际电话区号列表
E.164 : The international public telecommunication numbering plan