jquery.validate.extend.js 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. /*this is basic form validation using for validation person's basic information author:Clara Guo data:2017/07/20*/
  2. $(document).ready(function(){
  3. $.validator.setDefaults({
  4. submitHandler: function(form) {
  5. form.submit();
  6. }
  7. });
  8. //手机号码验证身份证正则合并:(^\d{15}$)|(^\d{17}([0-9]|X)$)
  9. jQuery.validator.addMethod("isPhone",function(value,element){
  10. var length = value.length;
  11. var phone=/^1[3|4|5|6|7|8][0-9]\d{8}$/;
  12. return this.optional(element)||(length == 11 && phone.test(value));
  13. },"请填写正确的11位手机号");
  14. //电话号码验证
  15. jQuery.validator.addMethod("isTel",function(value,element){
  16. var tel = /^(0\d{2,3}-)?\d{7,8}$/g;//区号3,4位,号码7,8位
  17. return this.optional(element) || (tel.test(value));
  18. },"请填写正确的座机号码");
  19. //姓名校验
  20. jQuery.validator.addMethod("isName",function(value,element){
  21. var name=/^[\u4e00-\u9fa5]{2,6}$/;
  22. return this.optional(element) || (name.test(value));
  23. },"姓名只能用汉字,长度2-4位");
  24. //校验用户名
  25. jQuery.validator.addMethod("isUserName",function(value,element){
  26. var userName=/^[a-zA-Z0-9]{2,13}$/;
  27. return this.optional(element) || (userName).test(value);
  28. },'请输入数字或者字母,不包含特殊字符');
  29. //校验身份证
  30. jQuery.validator.addMethod("isIdentity",function(value,element){
  31. var id= /^(\d{15}$|^\d{18}$|^\d{17}(\d|X))$/;
  32. return this.optional(element) || (id.test(value));
  33. },"请输入正确的15或18位身份证号,末尾为大写X");
  34. //校验出生日期
  35. jQuery.validator.addMethod("isBirth",function(value,element){
  36. var birth = /^(19|20)\d{2}-(1[0-2]|0?[1-9])-(0?[1-9]|[1-2][0-9]|3[0-1])$/;
  37. return this.optional(element) || (birth).test(value);
  38. },"出生日期格式示例2000-01-01");
  39. //校验新旧密码是否相同
  40. jQuery.validator.addMethod("isdiff",function(){
  41. var p1=$("#pwdOld").val();
  42. var p2=$("#pwdNew").val();
  43. if(p1==p2){
  44. return false;
  45. }else{
  46. return true;
  47. }
  48. });
  49. //校验新密码和确认密码是否相同
  50. jQuery.validator.addMethod("issame",function(){
  51. var p3=$("#confirm_password").val();
  52. var p4=$("#pwdNew").val();
  53. if(p3==p4){
  54. return true;
  55. }else{
  56. return false;
  57. }
  58. });
  59. //校验基础信息表单
  60. $("#basicInfoForm").validate({
  61. errorElement:'span',
  62. errorClass:'help-block error-mes',
  63. rules:{
  64. name:{
  65. required:true,
  66. isName:true
  67. },
  68. sex:"required",
  69. birth:"required",
  70. mobile:{
  71. required:true,
  72. isPhone:true
  73. },
  74. email:{
  75. required:true,
  76. email:true
  77. }
  78. },
  79. messages:{
  80. name:{
  81. required:"请输入中文姓名",
  82. isName:"姓名只能为汉字"
  83. },
  84. sex:{
  85. required:"请输入性别"
  86. },
  87. birth:{
  88. required:"请输入出生年月"
  89. },
  90. mobile:{
  91. required:"请输入手机号",
  92. isPhone:"请填写正确的11位手机号"
  93. },
  94. email:{
  95. required:"请输入邮箱",
  96. email:"请填写正确的邮箱格式"
  97. }
  98. },
  99. errorPlacement:function(error,element){
  100. element.next().remove();
  101. element.closest('.gg-formGroup').append(error);
  102. },
  103. highlight:function(element){
  104. $(element).closest('.gg-formGroup').addClass('has-error has-feedback');
  105. },
  106. success:function(label){
  107. var el = label.closest('.gg-formGroup').find("input");
  108. el.next().remove();
  109. label.closest('.gg-formGroup').removeClass('has-error').addClass("has-feedback has-success");
  110. label.remove();
  111. },
  112. submitHandler:function(form){
  113. alert("保存成功!");
  114. }
  115. });
  116. //校验修改密码表单
  117. $("#modifyPwd").validate({
  118. onfocusout: function(element) { $(element).valid()},
  119. debug:false, //表示校验通过后是否直接提交表单
  120. onkeyup:false, //表示按键松开时候监听验证
  121. rules:{
  122. pwdOld:{
  123. required:true,
  124. minlength:6
  125. },
  126. pwdNew:{
  127. required:true,
  128. minlength:6,
  129. isdiff:true,
  130. //issame:true,
  131. },
  132. confirm_password:{
  133. required:true,
  134. minlength:6,
  135. issame:true,
  136. }
  137. },
  138. messages:{
  139. pwdOld : {
  140. required:'必填',
  141. minlength:$.validator.format('密码长度要大于6')
  142. },
  143. pwdNew:{
  144. required:'必填',
  145. minlength:$.validator.format('密码长度要大于6'),
  146. isdiff:'原密码与新密码不能重复',
  147. },
  148. confirm_password:{
  149. required:'必填',
  150. minlength:$.validator.format('密码长度要大于6'),
  151. issame:'新密码要与确认新密码一致',
  152. }
  153. },
  154. errorElement:"mes",
  155. errorClass:"gg-star",
  156. errorPlacement: function(error, element)
  157. {
  158. element.closest('.gg-formGroup').append(error);
  159. }
  160. });
  161. });