前端有时候需要对用户输入的密码进行校验处理,除可做加密处理外,有时应业务需求还要做密码复杂度的校验。(最好是做,这样能降低用户输入错误率,提高登录成功率,优化用户体验。)以下就是一个最为普通的密码复杂度校验函数:下述方法要求输入的密码必须有数字、大写字母、小写字母,并且不能有空格、换行以及tab缩进等空白。
function checkPwd(str){
var pattern1 = /([0-9]+)/;
var pattern2 = /([a-z]+)/;
var pattern3 = /([A-Z]+)/;
//限制密码的位数在8-20位之间
if(str.length<8 ||str.length>20){
return false;
}
//没有数字、大写字母、小写字母时返回false,验证输入的密码不符合规则。
if(!pattern1.exec(str) || !pattern2.exec(str) || !pattern3.exec(str)){
return false;
}
//不能有空格、换行、tab缩进等所有的空白
var pattern4 = /\s+/g;
if(pattern4.exec(str)){
return false;
}
return true;
}
注:像前端这种对于数据格式的校验,一般用正则表达式都可以进行解决。对于那些相对复杂的校验,则需根据实际情况判断如何实施。
以上。