无法使用Javascript。有一段时间没有这样做
问题描述:
我想记住如何做到这一点。我需要创建两个密码字段并且密码必须匹配。通过按下按钮来检查它们是否匹配。他们必须有一个大写字母和一个数字,长度为4个字符。如果密码通过了所有这些,你就可以进入另一个页面。无法使用Javascript。有一段时间没有这样做
到目前为止,我
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script type="text/javascript">
function password()
{
var pwd1 = document.getElementsByName("pwd1").value;
var pwd2 = document.getElementsByName("pwd2").value;
if(pwd1 == pwd2)
{
window.location.href = '...';
}
else
{
Alert("Passwords do not match or your password is not longer than 4 characters");
}
}
</script>
</head>
<body>
<input type="password" name="pwd1"/>
<input type="password" name="pwd2"/>
<input type="button" onClick="password();" value="Submit" />
</body>
</html>
答
错误条件...
(pwd1 != pwd2 || pwd1.length >= 4 || ! pwd1.match(/\d/) || ! pwd1.match(/[A-Z]/))
此外,alert()
没有资本,你的元素的选择需要下标([0]
)的第一。
答
好吧,那么你的密码的功能应该是这个样子:
function password() {
var pwd1 = document.getElementsByName("pwd1")[0].value
, pwd2 = document.getElementsByName("pwd2")[0].value
, rules = /(?=.*\d)(?=.*[A-Z])/;
if(pwd1 === pwd2 && pwd1.length >= 4) {
if(rules.test(pwd1)) {
// redirect them now
// window.location.href = ...
} else {
alert('Password must contain at least 1 Capital letter and 1 digit');
}
}
else{
alert('Passwords must match and be at least 4 characters');
}
}
@ZacharyBurt:哎呦,纠正:) – alex 2011-12-16 02:12:25
所以这应该是到位的“pwd1 == pwd2”中的if语句? – 2011-12-16 02:19:20