changePWD.html 4.07 KB
<div class="row">
<div class="col-md-12">
<!-- BEGIN VALIDATION STATES-->
<div class="portlet light portlet-fit portlet-form bordered">
<div class="portlet-body">
	<form class="form-horizontal" id="changePWDForm">
		<div class="alert alert-danger display-hide">
            <button class="close" data-close="alert"></button>您的输入有误,请检查下面的输入项
        </div>
		<div class="form-group" style="margin-top: 60px">
		    <label class="control-label col-md-5">原始密码:
		    </label>
		    <div class="col-md-4">
		        <div class="input-icon right">
		            <i class="fa"></i>
		            <input type="password" class="form-control" name="oldPWD" /> </div>
		    </div>
		</div>
		<div class="form-group">
		    <label class="control-label col-md-5">输入新密码:
		    </label>
		    <div class="col-md-4">
		        <div class="input-icon right">
		            <i class="fa"></i>
		            <input type="password" class="form-control" name="newPWD" id="newPWD"/> </div>
		    </div>
		</div>
		<div class="form-group">
		    <label class="control-label col-md-5">确认新密码:
		    </label>
		    <div class="col-md-4">
		        <div class="input-icon right">
		            <i class="fa"></i>
		            <input type="password" class="form-control" name="cnewPWD" /> </div>
		    </div>
		</div>
		<div class="form-actions">
	        <div class="row">
	            <div class="col-md-offset-5 col-md-7">
	                <button type="submit" id="confirm" class="btn green">确定</button>
	                <button type="reset" class="btn default">取消</button>
	            </div>
	        </div>
	    </div>
	</form>
</div>
</div>
</div>
</div>

<script>
$(function(){
	var form = $('#changePWDForm');
    //表单 validate
    var error = $('.alert-danger', form);

    $.validator.addMethod("passwordrule", function(value, element) {
        var reg = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*?[#?!@$%^&*-.]).{8,16}$/;
        // var reg = /^(?=.*[a-zA-Z])(?=.*\d).{8,16}$/;
        return this.optional(element) ||(reg.test(value));
    }, "需包含大小写字母、数字、以及特殊符号的8-16位字符");

    //表单 validate
    form.validate({
        errorElement : 'span',
        errorClass : 'help-block help-block-error',
        focusInvalid : false,
        rules : {
            'newPWD' : {
                required : true,
                minlength: 6,
                maxlength: 16,
                passwordrule:true
            },
            'cnewPWD' : {
                equalTo: '#newPWD'
            }
        },
        invalidHandler : function(event, validator) {
            error.show();
            App.scrollTo(error, -200);
        },

        highlight : function(element) {
            $(element).closest('.form-group').addClass('has-error');
        },

        unhighlight : function(element) {
            $(element).closest('.form-group').removeClass('has-error');
        },

        success : function(label) {
            label.closest('.form-group').removeClass('has-error');
        },
        
        submitHandler : function(f) {
            var params = form.serializeJSON();
            error.hide();
            var keys;
            $.ajax({
                url: "/user/login/jCryptionKey?t="+Math.random(),
                type: "Get",
                async:false,
                data: null,
                success: function(data) {
                    keys = data.publickey;
                }
            });
            //RSA加密
            var encrypt = new JSEncrypt();
            encrypt.setPublicKey(keys);
            params.oldPWD = encrypt.encrypt(params.oldPWD);
            params.newPWD = encrypt.encrypt(params.newPWD);
            params.cnewPWD = encrypt.encrypt(params.cnewPWD);
            $.ajax({
                url: '/user/changePWD',
                type: 'POST',
                traditional: true,
                data: params,
                success: function(msg){
                    layer.alert(msg);
                    layer.closeAll('page');
                }
            });
        }
    });
});
</script>