Files
SIPAIIS_WMS_JSSW/WebRoot/jsp/changePassword.jsp
2026-01-16 14:13:44 +08:00

318 lines
13 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<%@ 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>