Index: ssts-web/src/main/webapp/js/common.js =================================================================== diff -u -r29163 -r29164 --- ssts-web/src/main/webapp/js/common.js (.../common.js) (revision 29163) +++ ssts-web/src/main/webapp/js/common.js (.../common.js) (revision 29164) @@ -2123,26 +2123,50 @@ /** * 检查密码复杂度的要求,根据配置项进行检查。条件包括最小长度、是否需要包含数字、大写字母、小写字母等 * @param pwd + * @param loginUser 当前登录用户账号;如果不传,就在后台判断密码是否可以包含账号 * @return {success:false, msg:"密码必须包含字母和数字,长度最小为8位!"} */ -function testPasswordReg(pwd) { +function testPasswordReg(pwd, loginUser) { /*simon:update needBeStrongPwdWhenModifyPwd当修改密码时,密码是否一定为强密码*/ + //needBeStrongPwdWhenModifyPwd :{'minPwdLength':8,'containLetter':true,'containUppercaseLetter':false,'containLowerCaseLetter':false,'containSpecialChar':true,'containNumber':true,'passwordNotContainLoginName':true} var pwdConfig = sstsConfig.needBeStrongPwdWhenModifyPwd; - var obj = {"success":false, "msg":"密码必须包含字母和数字,长度最小为8位!"}; + var msg = "密码必须包含字母和数字,长度最小为8位!"; + var obj = {"success":false, "msg":msg}; if ( !isUndefinedOrNullOrEmpty(pwdConfig)) { - var minPwdLength = 6; + var minPwdLength = pwdConfig.minPwdLength; + var containLetter = pwdConfig.containLetter; + var containUppercaseLetter = pwdConfig.containUppercaseLetter; + var containLowerCaseLetter = pwdConfig.containLowerCaseLetter; + var containSpecialChar = pwdConfig.containSpecialChar; + var containNumber = pwdConfig.containNumber; + var passwordNotContainLoginName = pwdConfig.passwordNotContainLoginName; + + minPwdLength = isUndefinedOrNullOrEmpty(minPwdLength) ? 6 : minPwdLength; if (!isUndefinedOrNullOrEmpty(pwdConfig.minPwdLength)){ minPwdLength = pwdConfig.minPwdLength; } - if (pwd.length < minPwdLength || !/[0-9]+/.test(pwd) || !/[a-zA-Z]+/.test(pwd)) { - obj.success = false; - } else { - obj.success = true; - } + if(pwd.length < minPwdLength){ + obj.msg = "密码长度最小为8位!"; + }else if((containNumber && !/[0-9]+/.test(pwd)) || (containLetter && !/[a-zA-Z]+/.test(pwd))){ + obj.msg = "密码必须包含字母和数字!"; + }else if((containUppercaseLetter && !/[A-Z]+/.test(pwd)) || (containLowerCaseLetter && !/[a-z]+/.test(pwd))){ + obj.msg = "密码必须包含大写字母和小写字母!"; + }else if((containSpecialChar && !/[^A-Za-z0-9]/.test(pwd))){ + obj.msg = "密码必须包含特殊字符!"; + }else if(!isUndefinedOrNullOrEmpty(loginUser)){ + var tempPwd = pwd.toLowerCase(); + var tempLoginUser = loginUser.toLowerCase(); + if(passwordNotContainLoginName && tempPwd.indexOf(tempLoginUser) == 0){ + obj.msg = "密码不可以包含账号!"; + } + }else{ + obj.success = true; + } + } else { obj.success = false; }