我正在使用正则表达式检查密码字段,现在测试varible的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>
答案 0 :(得分:2)
您正在使用getElementById
,但实际上没有为“密码”字段分配ID属性。
尝试:
<input type="password" name="thePasswordField" id="thePasswordField"/>
我建议使用此约定的原因是避免使用“password”作为您的实际字段名称(如果您使用此方法,IE可能会死),当然,实际上也使用password
类型字段。
希望你明白你的初始getElementById
行必须引用“thePasswordField”ID值。
我没有审查你的其余代码,但是将ID属性放在那里并给它一个镜头。
答案 1 :(得分:1)
在第一个标志处你没有关闭所有街区
function checkPassword(password)
{
.....
{ document.getElementById('frmApplication').submit();
}
请参阅此处有关regexp how-to-validate-password-with-regular-expression
的信息