javascript - 我正在尝试使用 JavaScript 来验证电话号码

标签 javascript forms validation

我正在尝试验证电话号码。但这似乎不起作用。为什么这不起作用?

<html>
<head>
<script>
    function validateForm() {
        var phone1 = document.forms["myForm"]["phone"].value;
        var phone2 = ^(\+0?1\s)?\(?\d{3}\)?[\s.-]\d{3}[\s.-]\d{4}$;

        if ( phone1.value.match(phone2) ){
            return true;
        }else{
            alert("Please enter a valid phone number");
            return false;
        }   
    }
</script>
</head>
<body>

<form name="myForm"
onsubmit="return validateForm()" method="post">

    <label for="phone">Phone:</label><input name="phone" id="phone" value=""    placeholder="Zip..." type="text" onsubmit="return validateForm()"/>

<button type="submit">Submit</button>

</form>

</body>
</html>

这肯定与if语句中的值比较有关,我只是不知道如何准确地做到这一点。

最佳答案

您的模式RegExp ,根据您的模式验证电话号码,您应该按照以下方式进行验证。

查看 LIVE

JS

function validateForm() {
    var re = /^(\+0?1\s)?\(?\d{3}\)?[\s.-]\d{3}[\s.-]\d{4}$/; 
    var phone1 = document.forms["myForm"]["phone"].value;
    var m = re.exec(phone1);
    if (m && m[0]){
        return true; 
    }else{
        alert("Please enter a valid phone number");
        return false;
    }
 }

HTML

<form name="myForm" onsubmit="return validateForm()" method="post">
    <label for="phone">Phone:</label>
    <input name="phone" id="phone" value="" placeholder="Zip..." type="text" onsubmit="return validateForm()" />
    <button type="submit">Submit</button>
</form>
<小时/>

使用应该使用RegExp图案

^((\+?)(1?(\-?)?))(\d{3})(-|\s)?\d{3}(-|\s)?\d{4}$

enter image description here

关于javascript - 我正在尝试使用 JavaScript 来验证电话号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30723150/

相关文章:

javascript - 使用 jQuery 获取父级 div 文本

javascript - 如何防止 Google Chrome 阻止我的弹出窗口?

javascript - jQuery 将多个事件绑定(bind)到一个选择器

php - 如何以隐藏在html表单中的输入类型传递php数组

javascript - 在不提交表单的情况下触发自动完成

python - Django - 部分验证表单

javascript - Jquery if 条件,如果字符串格式不正确,将调用警报

javascript - Angular.js 和 HTML5 日期输入值——如何让 Firefox 在日期输入中显示可读的日期值?

javascript - 在 url 验证中禁用 @ 符号

database - Postgres 中的字符串;验证字符串的内容