javascript - 无法让 JavaScript 密码正则表达式验证生效

标签 javascript regex forms validation

我正在尝试验证用户输入的密码。它只能是字母和数字,我必须使用 match 方法...即使这不是最好的方法...我必须使用 match()。我缺少一些东西来正常工作。没有数字或特殊字符,只有字母。我对javascript了解不多。

<script type="text/JavaScript">
    function chkPwd() {
    var pwd = document.form1.pwd;
    var pwdMsg = document.getElementById('pwdMsg'); 

    regex = /[^a-zA-Z]/;
        var pwd1 = pwd.value;
        if(!pwd1.match(regex)) {
            pwdMsg.innerHTML = "Must contain letters only!"
            pwd.select();
            return;
        }else{ 
            pwdMsg.innerHTML = "";
        }
    }   
</script>
</head>

<body>
        <form name="form1" action="" method="post">


            <p> Password: <br>
                <input type="text" name="pwd" onchange="chkPwd()" />
                <span id="pwdMsg"></span></p>
            <p>
                <input type="button" value="chkPass" onclick="chkPwd()">
            </p>
        </form>
        <div id="results"></div>
</body>
</html>

最佳答案

您的问题似乎出在这部分代码中。

regex = /[^a-zA-Z]/;
var pwd1 = pwd.value;
if(!pwd1.value.match(regx)) {

您将 pwd1 设置为 pwd.value,但在下一行,您将访问 pwd1.value。这意味着您正在高效地执行 pwd.value.value。此外,您正在使用 regx,而您应该使用 regex。另外,您的 if 条件似乎不需要 ! 。我认为您打算这样做。

regex = /[^a-zA-Z]/;
var pwd1 = pwd.value;
if(pwd1.match(regex)) {

关于javascript - 无法让 JavaScript 密码正则表达式验证生效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25234255/

相关文章:

javascript - Jquery mobile - 如何在two.html中检索从one.html传递的数据?

python - 如何使用 re 从行中检索想要的字符串

java - 如何在java中为带括号的字符串编写正则表达式?

django - 如何在 Django 测试用例中获取测试 http 请求?

javascript - adsense 不在我的 php 页面上显示广告

javascript - 为什么这段代码返回未定义?

javascript - 正则表达式删除除字母和 '[单引号] 之外的任何内容

html - 在字段集中定位复选框的标签

css - 无法使用 Flexbox 使 div 右对齐

javascript - 如何在 Cloud Machine Learning Engine 上为我的模型获取 javascript 在线预测?