javascript - 如何创建 JavaScript 正则表达式以验证带扩展名的国际电话号码
问题描述
我正在尝试将国际电话号码与分机号相匹配,例如:+44 (123) 123 4567 分机。123 和电话号码,例如:+44 (123) 123 4567。当我输入分机时,它返回一个无效的电话号码。我还想匹配美国电话号码,例如 (212) 555-1212 和其他电话号码,例如 +44 20 7893 4567。我期待用户使用提示输入。我的代码如下:
function isValidTelephoneNumber(telephoneNumber){
var telRegExp = /^(\+\d{1,3} ?)?(\(\d{1,5}\)|\d{1,5}) ?\d{3,4} ?\d{0,7}( (x|xtn|ext|extn|pax|pbx|extension)?\.? ?\d{2-5})?$/i;
return telRegExp.test(telephoneNumber);
}
var phoneNumber = prompt("Please enter a phone number.", "");
if (isValidTelephoneNumber(phoneNumber)){
alert("Valid Phone Number");
} else {
alert("Invalid Phone Number");
}
解决方案
最后一部分你有一个语法错误?\d{2-5}
,?\d{2,5}
我也建议你使用\s+
你的空白。
推荐阅读
- nginx - Kubernetes Nginx 入口 - 无法确保负载均衡器:找不到任何合适的子网来创建 ELB
- symfony - 如何修复两条相互竞争的 symfony 路由
- flutter - Flutter:如何修复并为轮廓按钮添加边框和颜色?
- objective-c - if 中 assert(false) 的目的是什么?
- alloy - 在 Alloy 中“运行”一个函数是什么意思?
- java - 循环用户输入直到输入一个正的非零整数
- axios - 当我使用 axios({...}); 时,Axios 请求不发送有效负载;
- python - pygame跳转动画:盒子没有回到起始位置
- json - 如何从 Swift URLSession 返回 JSON 数据
- php - laravel 8 API 显示外键的标题或名称