-4

我正在使用正则表达式来检查密码字段,现在测试变量的 javascript 正在工作,但是当我尝试调用它并检查表单时,我似乎无法让 javascript 看到我想要它使用我制作的 javascript 检查表单中的密码,但我似乎无法让表单与我制作的 javascript 进行通信,表单和 javascript 在同一页面上,我想要它做的是在它之后检查密码要求,它只会去提交表格。这是我到目前为止所拥有的。

<html>
 <body>
    <script type="text/javascript">
     function checkPassword(password)
    {
    password = document.getElementById('thethePasswordFieldField').value;   
        var patt=/[a-z]/g;
        var patt2 = /[A-Z]/g; 
        var patt3 = /[0-9]/g; 
        var patt4 = /[~\!@#\$%\^&*_\-\+=`\|\\(\)\{\}\[\]:;"'<>,\.\?\/]/g; 

            var result=patt.test(password);
            var result2=patt2.test(password);
            var result3=patt3.test(password);
            var result4=patt4.test(password);

                if (!result)
            alert("Needs a lowercase & uppercase letter, a number & a special character.");

                if (!result2)
            alert("Needs a lowercase & uppercase letter, a number & a special character.");

                if (!result3)
            alert("Needs a lowercase & uppercase letter, a number & a special character.");

                if (!result4)
            alert("Needs a lowercase & uppercase letter, a number & a special character.");

                        if (result && result2 && result3 && result4)
            alert("");
            document.getElementById('frmApplication').submit();
    }
    </script>

    <form id="frmApplication" name="frmApplication" action="test.html" method="post">
    Password: <input type="text" name="thethePasswordFieldField" id="thethePasswordFieldField">  
   <a href="javascript:checkPassword()">Submit</a>
   </form>
    </body>
    </html>
4

2 回答 2

2

您正在使用getElementById但实际上并未将 ID 属性分配给“密码”字段。

尝试:

<input type="password" name="thePasswordField" id="thePasswordField"/>

我建议使用此约定的原因是避免使用“密码”作为您的实际字段名称(如果您使用这种方法,IE 可能会死掉),当然还要实际使用password类型字段。

希望您应该很明显,您的初始getElementById行必须引用“thePasswordField”ID 值。

我没有审查您的其余代码,但将 ID 属性放在那里并试一试。

于 2012-09-28T19:49:41.407 回答
1

在第一个标志你没有关闭所有块

 function checkPassword(password)
    {
.....
   { document.getElementById('frmApplication').submit();
    }

在这里看到关于 regexp how-to-validate-password-with-regular-expression

于 2012-09-28T19:53:05.393 回答