javascript - 正则表达式验证电话号码的 3 种特定形式

标签 javascript regex

因此,我尝试编写代码,以三种方式之一评估电话号码是否有效。

第一个格式为 xxx-xxx-xxxx,第二个格式为 (xxx) xxx-xxxx,第三个格式为 xxxxxxxxxx。

这是我的正则表达式:

if (/^\d{3}-\d{3}-\d{4}$/.test(phoneVal) || /^\d{10}$/.test(phoneVal) || /^\(\d{3}\) \d{3}-\d{4}$/.test(phoneVal)) {
           return true;
     }

但是,每当我输入我认为有效的电话号码时,它就会触发此正则表达式,并给出错误:

else {
         alert("Please put in a correct phone number");
         return false;
     }

最佳答案

When running this: phoneVal = document.getElementById("phone"); alert(phoneVal); I get: [Object HTML InputElement]

您获取的是元素而不是它的值。使用 value 属性:

phoneVal = document.getElementById("phone").value;

关于javascript - 正则表达式验证电话号码的 3 种特定形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8401977/

相关文章:

javascript - 错误 : TypeError: $(. ..).dialog 不是函数

javascript - 如何将 Promise.all 与多个参数一起使用?

regex - 如何在oracle列中查找连续重复的字符

python - 如果字符串列表中的字符与正则表达式匹配,如何将其更改为小写?

javascript - 如果我点击 Javascript 中的按钮,如何重置我的棋盘?

javascript - Redux:帮助过滤/删除我的 reducer 中属性的数组项

c# - 如何从 C# 中的相对 URL 字符串获取参数?

c# - 用于获取 flashvars 的正则表达式

javascript - SoundCloud URL 的正则表达式

javascript - NodeJS 设置通配符路由或 url 重写