Javascript-使用正则表达式检查密码字段
我正在使用正则表达式检查密码字段,现在测试变量的javascript正在工作,但是当我尝试调用它并检查表单时,我似乎无法让javascript看到我希望它用我制作的javascript检查表单中的密码,但我似乎无法让表单与我制作的javascript通信,表单和javascript在同一页上,我想让它做的是,在检查了密码要求后,它会去提交表单。这是我到目前为止所拥有的Javascript-使用正则表达式检查密码字段,javascript,html,regex,forms,Javascript,Html,Regex,Forms,我正在使用正则表达式检查密码字段,现在测试变量的javascript正在工作,但是当我尝试调用它并检查表单时,我似乎无法让javascript看到我希望它用我制作的javascript检查表单中的密码,但我似乎无法让表单与我制作的javascript通信,表单和javascript在同一页上,我想让它做的是,在检查了密码要求后,它会去提交表单。这是我到目前为止所拥有的 <html> <body> <script type="text/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>
功能检查密码(密码)
{
密码=document.getElementById('thethePasswordField')。值;
var patt=/[a-z]/g;
var patt2=/[A-Z]/g;
var patt3=/[0-9]/g;
变量patt4=/[~\!@\$%\^&*\-\+=`\\\\\(\)\\\\\\\\[\]:;“,\.\?\/]/g;
var结果=参数测试(密码);
var result2=patt2.test(密码);
var result3=patt3.test(密码);
var result4=patt4.test(密码);
如果(!结果)
警告(“需要小写和大写字母、数字和特殊字符。”);
如果(!result2)
警告(“需要小写和大写字母、数字和特殊字符。”);
如果(!result3)
警告(“需要小写和大写字母、数字和特殊字符。”);
如果(!result4)
警告(“需要小写和大写字母、数字和特殊字符。”);
如果(结果和结果2和结果3和结果4)
警报(“”);
document.getElementById('frmApplication').submit();
}
密码:
您正在使用getElementById
,但实际上没有为“密码”字段分配ID属性
尝试:
我建议使用此约定的原因是为了避免使用“password”作为您的实际字段名(即如果使用此方法,可能会死亡),当然,也要实际使用密码
类型字段
希望您能够清楚地看到,您的初始getElementById
行必须引用“thePasswordField”ID值
我还没有检查您的代码的其余部分,但是将ID属性放在那里并尝试一下。在第一个迹象中,您没有关闭所有块
function checkPassword(password)
{
.....
{ document.getElementById('frmApplication').submit();
}
这不是你第三次问这个问题了吗?你是通过ID“password”获取输入元素的,但是你的HTML中没有带有
ID=“password”
的元素。你为什么有{
在submit调用之前?有几点建议:您不需要为函数声明password
参数(因为您没有传递它)。将
元素的id
属性设置为“password”,以便document.getElementById(“password”)
实际检索某些内容。删除{
在.submit()之前
line.@bfavaretto不只是一个延续。我要求的是不同的东西,但它围绕着同一个代码。谢谢,刚刚关闭了块并重命名了密码id,但仍然没有结果。尽管如何验证密码页面没有多大帮助,因为java和JS没有那么相似。谢谢,我替换了line,并尝试了它仍然没有结果不确定我还缺少什么。
function checkPassword(password)
{
.....
{ document.getElementById('frmApplication').submit();
}