我正在尝试使用javascript验证密码,这是为了确保在更改密码时,输入的新密码与重新输入新密码的密码相等(要求用户输入两次新密码,因此两者必须匹配),但同时,我想确保新密码至少有6个字符长,我有这些单独的功能,但不知道如何组合它们。。。感谢您的提前帮助!
这就是我目前所拥有的。。。
这是为了确保新密码匹配:
function validatePassword()
{
var new_password = document.getElementById("new_password").value;
var confirm_new_password = document.getElementById("confirm_new_password").value;
<!-- if they match, go to next page -->
if ( new_password == confirm_new_password)
{
return true;
}
<!-- if they don't match, an error message is displayed -->
else
{
alert("Passwords do not match.");
}
return false;
}
这是密码长度:
function validatePassword()
{
if (document.getElementById("new_password").value.length < "5")
{
<!--If pasword is less than 5 characters long, display error message-->
alert("Please ensure your password is at least 6 characters long.");
return false;
}
return true;
}
我如何将这两者结合起来形成一个SINGLE函数,其中检查两个新密码以使其匹配,并检查它们是否长于6个字符?
要将两个函数结合起来,这将起作用:
function validatePassword()
{
var new_password = document.getElementById("new_password").value;
var confirm_new_password = document.getElementById("confirm_new_password").value;
if (new_password.length < 5)
{
<!--If pasword is less than 5 characters long, display error message-->
alert("Please ensure your password is at least 6 characters long.");
return false;
}
else if ( new_password != confirm_new_password)
{
alert("Passwords do not match.");
return false;
}
else
{
return true;
}
}
虽然我同意,但还有更好的程序。请确保您也在进行服务器端验证,因为客户端验证很容易跳过。
我不确定,但你可以在中调用validatePassword()
这个函数
if ( new_password == confirm_new_password)
{
validatePassword();
}
您有两个选项,要么将这两个函数作为一个函数,要么将它们作为两个单独的函数,并在提交/处理表单之前调用它们。
if (validatePasswordLength() && validatePasswordsMatch()) {
// Continue
}
您必须尝试这个小而有效的代码。
if(document.getElementById("new_password").value != document.getElementById("confirm_new_password").value){
alert("Passwords do not match.");
return false;
}
<script>
function validatePassword()
{
var new_password = document.getElementById("new_password").value;
var confirm_new_password = document.getElementById("confirm_new_password").value;
if (document.getElementById("new_password").value.length < "5")
{
alert("Please ensure your password is at least 6 characters long.");
return false;
}
if (new_password == confirm_new_password)
{
alert("Password no match");
return false;
}
return true;
}
</script>
<form action="" onsubmit="return validatePassword()">
<p>New Password: <input type="password" id="new_password" name="new_password" /></p>
<p>Confirm Password: <input type="password" id="confirm_new_password" name="confirm_new_password" /></p>
<p><input type="submit" value="submit" /></p>
</form>