Fork me on GitHub
jQuery Validation范例
  1. /**//**
  2. * @author ming
  3. */
  4. $(document).ready(function(){
  5. /**//* 设置默认属性 */
  6. $.validator.setDefaults({
  7. submitHandler: function(form) {
  8. form.submit();
  9. }
  10. });
  11. // 字符验证
  12. jQuery.validator.addMethod("stringCheck", function(value, element) {
  13. return this.optional(element) || /^[\u0391-\uFFE5\w]+$/.test(value);
  14. }, "只能包括中文字、英文字母、数字和下划线");
  15. // 中文字两个字节
  16. jQuery.validator.addMethod("byteRangeLength", function(value, element, param) {
  17. var length = value.length;
  18. for(var i = 0; i < value.length; i++){
  19. if(value.charCodeAt(i) > 127){
  20. length++;
  21. }
  22. }
  23. return this.optional(element) || ( length >= param[0] && length <= param[1] );
  24. }, "请确保输入的值在3-15个字节之间(一个中文字算2个字节)");
  25. // 身份证号码验证
  26. jQuery.validator.addMethod("isIdCardNo", function(value, element) {
  27. return this.optional(element) || isIdCardNo(value);
  28. }, "请正确输入您的身份证号码");
  29. // 手机号码验证
  30. jQuery.validator.addMethod("isMobile", function(value, element) {
  31. var length = value.length;
  32. var mobile = /^(((13[0-9]{1})|(15[0-9]{1}))+\d{8})$/;
  33. return this.optional(element) || (length == 11 && mobile.test(value));
  34. }, "请正确填写您的手机号码");
  35. // 电话号码验证
  36. jQuery.validator.addMethod("isTel", function(value, element) {
  37. var tel = /^\d{3,4}-?\d{7,9}$/; //电话号码格式010-12345678
  38. return this.optional(element) || (tel.test(value));
  39. }, "请正确填写您的电话号码");
  40. // 联系电话(手机/电话皆可)验证
  41. jQuery.validator.addMethod("isPhone", function(value,element) {
  42. var length = value.length;
  43. var mobile = /^(((13[0-9]{1})|(15[0-9]{1}))+\d{8})$/;
  44. var tel = /^\d{3,4}-?\d{7,9}$/;
  45. return this.optional(element) || (tel.test(value) || mobile.test(value));
  46. }, "请正确填写您的联系电话");
  47. // 邮政编码验证
  48. jQuery.validator.addMethod("isZipCode", function(value, element) {
  49. var tel = /^[0-9]{6}$/;
  50. return this.optional(element) || (tel.test(value));
  51. }, "请正确填写您的邮政编码");
  52. //开始验证
  53. $('#submitForm').validate({
  54. /**//* 设置验证规则 */
  55. rules: {
  56. username: {
  57. required:true,
  58. stringCheck:true,
  59. byteRangeLength:[3,15]
  60. },
  61. email:{
  62. required:true,
  63. email:true
  64. },
  65. phone:{
  66. required:true,
  67. isPhone:true
  68. },
  69. address:{
  70. required:true,
  71. stringCheck:true,
  72. byteRangeLength:[3,100]
  73. }
  74. },
  75. /**//* 设置错误信息 */
  76. messages: {
  77. username: {
  78. required: "请填写用户名",
  79. stringCheck: "用户名只能包括中文字、英文字母、数字和下划线",
  80. byteRangeLength: "用户名必须在3-15个字符之间(一个中文字算2个字符)"
  81. },
  82. email:{
  83. required: "请输入一个Email地址",
  84. email: "请输入一个有效的Email地址"
  85. },
  86. phone:{
  87. required: "请输入您的联系电话",
  88. isPhone: "请输入一个有效的联系电话"
  89. },
  90. address:{
  91. required: "请输入您的联系地址",
  92. stringCheck: "请正确输入您的联系地址",
  93. byteRangeLength: "请详实您的联系地址以便于我们联系您"
  94. }
  95. },
  96. /**//* 设置验证触发事件 */
  97. focusInvalid: false,
  98. onkeyup: false,
  99. /**//* 设置错误信息提示DOM */
  100. errorPlacement: function(error, element) {
  101. error.appendTo( element.parent());
  102. },
  103. });
  104. });
复制代码
测试页index.html
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"   
  2. "http://www.w3.org/TR/html4/loose.dtd">  
  3. <html xmlns="http://www.w3.org/1999/xhtml">  
  4.     <head>  
  5.         <meta http-equiv="Content-Type" content="text/html; charset=gbk" />  
  6.         <title>jQuery验证</title>  
  7.         <script src="lib/jquery/jquery-1.3.2.min.js" ></script>  
  8.         <script type="text/javascript" src="lib/jquery/jquery.validate.js" mce_src="lib/jquery/jquery.validate.js"></script>  
  9.         <script type="text/javascript" src="lib/jquery/messages_cn.js"></script>  
  10.         <script type="text/javascript" src="lib/jquery/formValidatorClass.js"></script>  
  11.         <style type="text/css">
  12.         * {}{   
  13.             font-family: Verdana;   
  14.             font-size: 96%;   
  15.         }   
  16.         label {}{   
  17.             width: 10em;   
  18.             float: left;   
  19.         }   
  20.         label.error {}{   
  21.             float: none;   
  22.             color: red;   
  23.             padding-left: .5em;   
  24.             vertical-align: top;   
  25.         }   
  26.         p {}{   
  27.             clear: both;   
  28.         }   
  29.         .submit {}{   
  30.             margin-left: 12em;   
  31.         }   
  32.         em {}{   
  33.             font-weight: bold;   
  34.             padding-right: 1em;   
  35.             vertical-align: top;   
  36.         }   
  37.            
  38. </style>
  39.     </head>  
  40.     <body>  
  41.         <form class="submitForm" id="submitForm" method="get" action="">  
  42.          <fieldset>  
  43.            <legend>表单验证</legend>  
  44.            <p>  
  45.              <label for="username">用户名</label>  
  46.              <em>*</em><input id="userName" name="username" size="25" />  
  47.            </p>  
  48.            <p>  
  49.              <label for="email">E-Mail</label>  
  50.              <em>*</em><input id="email" name="email" size="25" />  
  51.            </p>  
  52.            <p>  
  53.              <label for="phone">联系电话</label>  
  54.              <em>*</em><input id="phone" name="phone" size="25" value="" />  
  55.            </p>  
  56.            <p>  
  57.              <label for="address">地址</label>  
  58.              <em>*</em><input id="address" name="address" size="22">  
  59.            </p>  
  60.              <input class="submit" type="submit" value="提交"/>  
  61.            </p>  
  62.           </fieldset>  
  63.          </form>  
  64.     </body>  
  65. </html>
posted on 2010-09-09 10:35  HackerVirus  阅读(218)  评论(0编辑  收藏  举报