Index: ssts-web/src/main/webapp/disinfectsystem/config/qysrmyy/config.js =================================================================== diff -u -r29330 -r29332 --- ssts-web/src/main/webapp/disinfectsystem/config/qysrmyy/config.js (.../config.js) (revision 29330) +++ ssts-web/src/main/webapp/disinfectsystem/config/qysrmyy/config.js (.../config.js) (revision 29332) @@ -83,7 +83,5 @@ //禁用基数限制 disableCardinalNumLimit:true, //设置密码的复杂度参数,可设置密码的最小长度、是否需要包含字母、是否需要包含大写字母、是否需要包含小写字母、是否需要包含数字、是否不能包含用户名 - needBeStrongPwdWhenModifyPwd :{'minPwdLength':8,'containLetter':true,'containUppercaseLetter':false,'containLowerCaseLetter':false,'containSpecialChar':true,'containNumber':true,'passwordNotContainLoginName':true,'passwordComplexityReq1':true}, - //创建用户时检查密码是否需要满足复杂度要求 - windowsPasswordComplexityReq:true + needBeStrongPwdWhenModifyPwd :{'minPwdLength':8,'containLetter':true,'containUppercaseLetter':false,'containLowerCaseLetter':false,'containSpecialChar':true,'containNumber':true,'passwordNotContainLoginName':true,'passwordComplexityReq1':true,'windowsPasswordComplexityReq':true} } \ No newline at end of file Index: ssts-web/src/main/webapp/js/common.js =================================================================== diff -u -r29330 -r29332 --- ssts-web/src/main/webapp/js/common.js (.../common.js) (revision 29330) +++ ssts-web/src/main/webapp/js/common.js (.../common.js) (revision 29332) @@ -2145,10 +2145,26 @@ var passwordNotContainLoginName = pwdConfig.passwordNotContainLoginName; //密码复杂度要求1,该要求包含以下三类字符中的二类字符:(QYSRMYY-27) var passwordComplexityReq1 = pwdConfig.passwordComplexityReq1; + //密码复杂度要求2,该要求包含以下四类字符中的三类字符:(QYSRMYY-27) + var windowsPasswordComplexityReq = pwdConfig.windowsPasswordComplexityReq; minPwdLength = isUndefinedOrNullOrEmpty(minPwdLength) ? 6 : minPwdLength; - if(passwordComplexityReq1){ + if(windowsPasswordComplexityReq){ + //包含数字,大写,小写 + var regExp1 = new RegExp('(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])'); + //包含数字,特殊符号,大写 + var regExp2 = new RegExp('(?=.*[0-9])(?=.*[^a-zA-Z0-9])(?=.*[A-Z])'); + //包含数字,特殊符号,小写 + var regExp3 = new RegExp('(?=.*[0-9])(?=.*[^a-zA-Z0-9])(?=.*[a-z])'); + //包含特殊符号,大写,小写 + var regExp4 = new RegExp('(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9])'); + if(!regExp1.test(passwdValue) && !regExp2.test(passwdValue) && !regExp3.test(passwdValue) && !regExp4.test(passwdValue)){ + obj.msg = "密码强度不够,至少包含大写字母,小写字母、数字、特殊字符的其中三种"; + }else { + obj.success = true; + } + }else if(passwordComplexityReq1){ //包含数字,英文字母 var regExp1 = new RegExp('(?=.*[0-9])(?=.*[a-zA-Z])'); //包含数字,特殊符号 @@ -2185,7 +2201,6 @@ obj.success = true; } } - } else { obj.success = true; } Index: ssts-web/src/main/webapp/systemmanage/userFormExt.js =================================================================== diff -u -r29330 -r29332 --- ssts-web/src/main/webapp/systemmanage/userFormExt.js (.../userFormExt.js) (revision 29330) +++ ssts-web/src/main/webapp/systemmanage/userFormExt.js (.../userFormExt.js) (revision 29332) @@ -60,24 +60,15 @@ var passwdValue = Ext.getCmp('passwd').getValue(); var confirmpwdValue = Ext.getCmp('confirmpwd').getValue(); if(passwdValue!= confirmpwdValue){ - alert("两次输入密码不相同,请重新输入!"); + Ext.MessageBox.show({title:'错误提示', msg:'两次输入密码不相同,请重新输入!', buttons:Ext.Msg.OK,icon:Ext.Msg.ERROR}); Ext.getCmp('confirmpwd').setValue(""); return false; - } - if(sstsConfig.windowsPasswordComplexityReq){ - //包含数字,大写,小写 - var regExp1 = new RegExp('(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])'); - //包含数字,特殊符号,大写 - var regExp2 = new RegExp('(?=.*[0-9])(?=.*[^a-zA-Z0-9])(?=.*[A-Z])'); - //包含数字,特殊符号,小写 - var regExp3 = new RegExp('(?=.*[0-9])(?=.*[^a-zA-Z0-9])(?=.*[a-z])'); - //包含特殊符号,大写,小写 - var regExp4 = new RegExp('(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9])'); - if(!regExp1.test(passwdValue) && !regExp2.test(passwdValue) && !regExp3.test(passwdValue) && !regExp4.test(passwdValue)){ - alert("密码强度不够,至少包含大写字母,小写字母、数字、特殊字符的其中三种"); - return false; - } - } + } + var checkPasswordResult = testPasswordReg(passwdValue) + if(!checkPasswordResult.success){ + Ext.MessageBox.show({title:'错误提示', msg:checkPasswordResult.msg, buttons:Ext.Msg.OK,icon:Ext.Msg.ERROR}); + return false; + } } isRepeatLogninId = false; DWREngine.setAsync(false);