繁体   English   中英

如何验证密码和确认密码

[英]How can validate password and confirm password

我想用正则表达式确认密码,所以我决定分别验证密码和确认密码。 但是密码和确认密码不匹配。 那么如何通过正则表达式 javascript 重新匹配密码和确认密码呢? 谢谢你。

// Validate password
if(upassid == "") {
    printError("passErr", "Please enter your Password*");
} else {
    var regex = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9])(?!.*\s).{8,15}$/;
    if(regex.test(upassid) === false) {
        printError("passErr", "Please enter a valid Password!*");
    } else{
        printError("passErr", "");
        passErr = false;
    }
}


// Validate confirm password
if(unpassid == "") {
    printError("unpassErr", "Please enter your Password*");
} else {
    var regex = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9])(?!.*\s).{8,15}$/;
    if(regex.test(unpassid) === false) {
        printError("unpassErr", "Please enter a valid Password!*");
    } else{
        printError("unpassErr", "");
        unpassErr = false;
    }
}

从您的代码看来,您在变量中同时拥有密码和确认密码。 所以,我认为你不需要一个正则表达式来比较它们是否匹配。 你可以这样做:

if (upassid != unpassid) {
    printError("unpassErr", "Passwords don't match");
}

因此,您的代码可能如下所示:

var regex = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9])(?!.*\s).{8,15}$/;

if (upassid == "") {
    printError("passErr", "Please enter your Password*");
} else if (unpassid == "") {
    printError("unpassErr", "Please confirm your Password!*");
} else if (upassid != unpassid) {
    printError("unpassErr", "Passwords do not match!*");
} else if(regex.test(upassid) === false) {
    printError("passErr", "Please enter a valid Password!*");
} else{
    printError("passErr", "");
    printError("unpassErr", "");
    passErr = false;
    unpassErr = false;
}

我已经简化了一点,因为您不需要检查密码和确认是否与您的正则表达式匹配,您只需要密码匹配它并且确认等于密码。

为什么在验证密码(upassid)后检查 reqex 以确认密码(unpassid)? 为什么不直接比较unpassid ==upassid呢?

if(upassid == "") {
    printError("passErr", "Please enter your Password*");
} else {
    var regex = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9])(?!.*\s).{8,15}$/;
    if(regex.test(upassid) === false) {
        printError("passErr", "Please enter a valid Password!*");
    } else if(unpassid !=upassid){
        printError("passErr", "Confirm Password does not match!*");
    } else {
       printError("unpassErr", "");
       unpassErr = false;
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM