Files
SIPAIIS_WMS_JSSW/WebRoot/jsp/changePassword.jsp

318 lines
13 KiB
Plaintext
Raw Normal View History

2026-01-16 14:13:44 +08:00
<%@ page language="java" pageEncoding="UTF-8"%>
<style type="text/css">
.select2-container .select2-selection--single{
height:34px;
line-height: 34px;
}
.select2-selection__arrow{
margin-top:3px;
}
.fa_eye {
color: #ccc;
display: block;
position: absolute;
margin: 8px;
z-index: 3;
width: 16px;
font-size: 16px;
text-align: center;
right: 15px;
top: 0;
}
</style>
<script type="text/javascript">
function dosave() {
$("#subForm").bootstrapValidator('validate');//提交验证
if ($("#subForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
$.post(ext.contextPath + "/user/saveChangePassword.do", $("#subForm").serialize(), function(data) {
if (data == 1) {
showAlert('s','修改成功');
closeModal('subPasswordModal');
$.post(ext.contextPath+"/Login/logout.do",function(){
delCookie("j_username");
delCookie("j_password");
location.replace(ext.contextPath);
});
}else if(data == 2){
showAlert('d','原始密码错误 ');
}else if(data == 0){
showAlert('d','保存失败');
}else{
showAlert('d',data.res);
}
},'json');
}
}
function switchPwd() {
var passwordeye = $('.fa_eye');
passwordeye.each(function(){
$(this).off('click').on('click',function(){
if($(this).hasClass('fa-eye-slash')){
$(this).removeClass('fa-eye-slash').addClass('fa-eye');//密码可见
$(this).prev().prop('type','text');
}else{
if($(this).hasClass('fa-eye')){
$(this).removeClass('fa-eye').addClass('fa-eye-slash');//密码不可见
$(this).prev().prop('type','password');
}
};
});
});
}
$(function() {
var type = "strong";
var max = 18;
var min = 10;
//配置logo
var array = eval(${jsonArray});
if(array!=null && array!=undefined && array.length>0){
for(var i =0;i<array.length;i++){
if(array[i].id == "password-type"){
if(array[i].type!=null){
type = array[i].type;
}
}
if(array[i].id == "password-max"){
if(array[i].type!=null){
max = array[i].type;
}
}
if(array[i].id == "password-min"){
if(array[i].type!=null){
min = array[i].type;
}
}
}
}
console.log(array);
$('#minAndMax').html("至少"+min+"个字符,最多"+max+"个字符");
if(type=="strong"){
$('#passwordType').html("用户密码必须包含大小写字母、数字、特殊字符");
//输入框验证
$('#subForm').bootstrapValidator({
fields: {
/*验证:规则*/
oldPassword: {
validators: {
notEmpty: {
message: '用户原始密码不能为空'
},
stringLength: {
min: 6,
max: 19,
message: '用户原始密码长度大于5小于20'
},
regexp: {
regexp: /^[^ ]+$/,
//regexp:/^(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[^a-zA-Z0-9]).{10,18}$/,
message: '用户原始密码不能有空格'
}
}
},
newPassword: {
validators: {
notEmpty: {
message: '用户新密码不能为空'
},
identical: {
field: 'comfirmPassword',
message: '用户新密码与确认密码不一致!'
},
stringLength: {
min: min,
max: max,
message: '用户新密码长度大于等于'+min+'小于等于'+max,
},
regexp: {
//regexp: /^[^ ]+$/,
regexp:'^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9]).{'+min+','+max+'}$',
message: '用户密码不符合要求'
}
}
},
comfirmPassword: {
validators: {
identical: {
field: 'newPassword',
message: '用户新密码与确认密码不一致!'
},
notEmpty: {
message: '用户确认密码不能为空'
},
stringLength: {
min: min,
max: max,
message: '用户新密码长度大于等于'+min+'小于等于'+max,
},
regexp: {
//regexp: /^[^ ]+$/,
regexp:'^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9]).{'+min+','+max+'}$',
message: '用户密码不符合要求'
}
}
}
}
})
.on('error.validator.bv', function (e, data) {//这个方法是让错误信息只显示最新的一个(有时会出现多个错误信息同时显示用这个方法解决)
data.element
.data('bv.messages')
.find('.help-block[data-bv-for="' + data.field + '"]').hide()
.filter('[data-bv-validator="' + data.validator + '"]').show();
})
.on('error.field.bv', function (e, data) {//‘用户确认密码’ 没输入的时候,‘用户新密码’不提示‘用户新密码与确认密码不一致’
if (data.field == 'newPassword') {
var len1 = data.element.val().length;
var len2 = $('#comfirmPassword').val().length;
var k = data.element.val().indexOf(" ");
if (len1 > 5 && len2 < 6 && k < 0) {
var $parent = data.element.parents('.form-group');
$parent.removeClass('has-error');
$parent.find('.[data-bv-icon-for="' + data.field + '"]').hide();
data.element.siblings('[data-bv-validator="identical"]').hide();
}
}
});
}
if(type=="weak"){
$('#passwordType').html("用户密码不能有空格");
//输入框验证
$('#subForm').bootstrapValidator({
fields: {
/*验证:规则*/
oldPassword: {
validators: {
notEmpty: {
message: '用户原始密码不能为空'
},
stringLength: {
min: 6,
max: 19,
message: '用户原始密码长度大于5小于20'
},
regexp: {
regexp: /^[^ ]+$/,
message: '用户原始密码不能有空格'
}
}
},
newPassword: {
validators: {
notEmpty: {
message: '用户新密码不能为空'
},
identical: {
field: 'comfirmPassword',
message: '用户新密码与确认密码不一致!'
},
stringLength: {
min: min,
max: max,
message: '用户新密码长度大于等于'+min+'小于等于'+max,
},
regexp: {
regexp: /^[^ ]+$/,
message: '用户密码不符合要求'
}
}
},
comfirmPassword: {
validators: {
identical: {
field: 'newPassword',
message: '用户新密码与确认密码不一致!'
},
notEmpty: {
message: '用户确认密码不能为空'
},
stringLength: {
min: min,
max: max,
message: '用户新密码长度大于等于'+min+'小于等于'+max,
},
regexp: {
regexp: /^[^ ]+$/,
message: '用户密码不符合要求'
}
}
}
}
})
.on('error.validator.bv', function (e, data) {//这个方法是让错误信息只显示最新的一个(有时会出现多个错误信息同时显示用这个方法解决)
data.element
.data('bv.messages')
.find('.help-block[data-bv-for="' + data.field + '"]').hide()
.filter('[data-bv-validator="' + data.validator + '"]').show();
})
.on('error.field.bv', function (e, data) {//‘用户确认密码’ 没输入的时候,‘用户新密码’不提示‘用户新密码与确认密码不一致’
if (data.field == 'newPassword') {
var len1 = data.element.val().length;
var len2 = $('#comfirmPassword').val().length;
var k = data.element.val().indexOf(" ");
if (len1 > 5 && len2 < 6 && k < 0) {
var $parent = data.element.parents('.form-group');
$parent.removeClass('has-error');
$parent.find('.[data-bv-icon-for="' + data.field + '"]').hide();
data.element.siblings('[data-bv-validator="identical"]').hide();
}
}
});
}
switchPwd();
})
</script>
<div class="modal fade" id="subPasswordModal">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">修改密码</h4>
</div>
<div class="modal-body">
<!-- 新增界面formid强制为subForm -->
<form class="form-horizontal" id="subForm" enctype="multipart/form-data" >
<!-- 界面提醒div强制id为alertDiv -->
<div id="alertDiv"></div>
<div class="form-group has-feedback">
<label class="control-label col-sm-2">原始密码</label>
<div class="col-sm-10">
<input class="form-control" type="password" placeholder="原始密码"
name="oldPassword" id="oldPassword"/>
<a class="fa fa-eye-slash fa_eye "></a>
</div>
</div>
<div class="form-group has-feedback">
<label class="control-label col-sm-2">新密码</label>
<div class="col-sm-10">
<input class="form-control" type="password" placeholder="新密码"
name="newPassword" id="newPassword"/>
<a class="fa fa-eye-slash fa_eye "></a>
</div>
</div>
<div class="form-group has-feedback">
<label class="control-label col-sm-2">确认密码</label>
<div class="col-sm-10">
<input class="form-control" type="password" placeholder="确认密码"
name="comfirmPassword" id="comfirmPassword"/>
<a class="fa fa-eye-slash fa_eye "></a>
</div>
</div>
</form>
</div>
<div class="modal-footer">
<p id="passwordType">用户密码必须包含大小写字母、数字、特殊字符</p>
<p id="minAndMax">至少10个字符最多18个字符</p>
<button type="button" class="btn btn-default pull-left" data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary" onclick="dosave()" >保存</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>