/*this is basic form validation using for validation person's basic information author:Clara Guo data:2017/07/20*/ $(document).ready(function(){ $.validator.setDefaults({ submitHandler: function(form) { form.submit(); } }); // 非法字符验证 jQuery.validator.addMethod("specialSign",function(value,element) { var char = /^[^<>"'|\\]+$/; return this.optional(element) || (char.test(value)); },"不能包含非法字符:< > \" ' \\\ |"); // 手机号码验证身份证正则合并:(^\d{15}$)|(^\d{17}([0-9]|X)$) jQuery.validator.addMethod("isPhone",function(value,element) { var length = value.length; var phone = /^1[3-9]\d{9}$/; return this.optional(element)||(length == 11 && phone.test(value)); },"请填写正确的11位手机号"); // 电话号码验证 jQuery.validator.addMethod("isTel",function(value,element) { var tel = /^(0\d{2,3}-)?\d{7,8}$/g;//区号3,4位,号码7,8位 return this.optional(element) || (tel.test(value)); },"请填写正确的座机号码"); // 姓名校验 jQuery.validator.addMethod("isName",function(value,element) { var name = /^[\u4e00-\u9fa5]{2,6}$/; return this.optional(element) || (name.test(value)); },"姓名只能用汉字,长度2-4位"); // 校验用户名 jQuery.validator.addMethod("isUserName",function(value,element) { var userName = /^[a-zA-Z0-9]{2,13}$/; return this.optional(element) || (userName).test(value); },'请输入数字或者字母,不包含特殊字符'); // 校验身份证 jQuery.validator.addMethod("isIdentity",function(value,element) { var id = /^(\d{15}$|^\d{18}$|^\d{17}(\d|X))$/; return this.optional(element) || (id.test(value)); },"请输入正确的15或18位身份证号,末尾若为X请大写"); // 校验二代身份证 jQuery.validator.addMethod("isIdentity18",function(value,element) { var id = /^(^\d{17}(\d|X))$/; return this.optional(element) || (id.test(value)); },"请输入正确的18位身份证号,末尾若为X请大写"); // 校验出生日期 jQuery.validator.addMethod("isBirth",function(value,element) { var birth = /^(19|20)\d{2}-(1[0-2]|0?[1-9])-(0?[1-9]|[1-2][0-9]|3[0-1])$/; return this.optional(element) || (birth).test(value); },"出生日期格式示例2000-01-01"); // 校验IP地址 jQuery.validator.addMethod("isIp",function(value,element) { var ip = /^(?:(?:2[0-4][0-9]\.)|(?:25[0-5]\.)|(?:1[0-9][0-9]\.)|(?:[1-9][0-9]\.)|(?:[0-9]\.)){3}(?:(?:2[0-4][0-9])|(?:25[0-5])|(?:1[0-9][0-9])|(?:[1-9][0-9])|(?:[0-9]))$/; return this.optional(element) || (ip).test(value); },"IP地址格式示例127.0.0.1"); jQuery.validator.addMethod("notEqual", function(value, element, param) { return value != param; }, $.validator.format("输入值不允许为{0}")); jQuery.validator.addMethod("gt", function(value, element, param) { return value > param; }, $.validator.format("输入值必须大于{0}")); // 校验新旧密码是否相同 jQuery.validator.addMethod("isdiff",function(){ var p1=$("#pwdOld").val(); var p2=$("#pwdNew").val(); if(p1==p2){ return false; }else{ return true; } }); // 校验新密码和确认密码是否相同 jQuery.validator.addMethod("issame",function(){ var p3=$("#confirm_password").val(); var p4=$("#pwdNew").val(); if(p3==p4){ return true; }else{ return false; } }); // 校验基础信息表单 $("#basicInfoForm").validate({ errorElement:'span', errorClass:'help-block error-mes', rules:{ name:{ required:true, isName:true }, sex:"required", birth:"required", mobile:{ required:true, isPhone:true }, email:{ required:true, email:true } }, messages:{ name:{ required:"请输入中文姓名", isName:"姓名只能为汉字" }, sex:{ required:"请输入性别" }, birth:{ required:"请输入出生年月" }, mobile:{ required:"请输入手机号", isPhone:"请填写正确的11位手机号" }, email:{ required:"请输入邮箱", email:"请填写正确的邮箱格式" } }, errorPlacement:function(error,element){ element.next().remove(); element.closest('.gg-formGroup').append(error); }, highlight:function(element){ $(element).closest('.gg-formGroup').addClass('has-error has-feedback'); }, success:function(label){ var el = label.closest('.gg-formGroup').find("input"); el.next().remove(); label.closest('.gg-formGroup').removeClass('has-error').addClass("has-feedback has-success"); label.remove(); }, submitHandler:function(form){ alert("保存成功!"); } }); // 校验修改密码表单 $("#modifyPwd").validate({ onfocusout: function(element) { $(element).valid()}, debug:false, // 表示校验通过后是否直接提交表单 onkeyup:false, // 表示按键松开时候监听验证 rules:{ pwdOld:{ required:true, minlength:6 }, pwdNew:{ required:true, minlength:6, isdiff:true, //issame:true, }, confirm_password:{ required:true, minlength:6, issame:true, } }, messages:{ pwdOld : { required:'必填', minlength:$.validator.format('密码长度要大于6') }, pwdNew:{ required:'必填', minlength:$.validator.format('密码长度要大于6'), isdiff:'原密码与新密码不能重复', }, confirm_password:{ required:'必填', minlength:$.validator.format('密码长度要大于6'), issame:'新密码要与确认新密码一致', } }, errorElement:"mes", errorClass:"gg-star", errorPlacement: function(error, element) { element.closest('.gg-formGroup').append(error); } }); });