六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 293|回复: 0

jQuery Validation范例

[复制链接]

升级  16.8%

178

主题

178

主题

178

主题

进士

Rank: 4

积分
584
 楼主| 发表于 2013-2-8 00:55:47 | 显示全部楼层 |阅读模式
上班无事,学习jQuery Validation,于是手写一公共范例,并收藏以便后用
验证操作类formValidatorClass.js
 
<div class="cnblogs_code">/**//**   * @author ming   */  $(document).ready(function(){                /**//* 设置默认属性 */       $.validator.setDefaults({           submitHandler: function(form) {            form.submit();        }       });     // 字符验证       jQuery.validator.addMethod("stringCheck", function(value, element) {           return this.optional(element) || /^[\u0391-\uFFE5\w]+$/.test(value);       }, "只能包括中文字、英文字母、数字和下划线");     // 中文字两个字节       jQuery.validator.addMethod("byteRangeLength", function(value, element, param) {           var length = value.length;           for(var i = 0; i < value.length; i++){               if(value.charCodeAt(i) > 127){               length++;               }           }           return this.optional(element) || ( length >= param[0] && length <= param[1] );       }, "请确保输入的值在3-15个字节之间(一个中文字算2个字节)");     // 身份证号码验证       jQuery.validator.addMethod("isIdCardNo", function(value, element) {           return this.optional(element) || isIdCardNo(value);       }, "请正确输入您的身份证号码");         // 手机号码验证       jQuery.validator.addMethod("isMobile", function(value, element) {           var length = value.length;       var mobile = /^(((13[0-9]{1})|(15[0-9]{1}))+\d{8})$/;       return this.optional(element) || (length == 11 && mobile.test(value));       }, "请正确填写您的手机号码");            // 电话号码验证       jQuery.validator.addMethod("isTel", function(value, element) {           var tel = /^\d{3,4}-?\d{7,9}$/;    //电话号码格式010-12345678       return this.optional(element) || (tel.test(value));       }, "请正确填写您的电话号码");     // 联系电话(手机/电话皆可)验证   jQuery.validator.addMethod("isPhone", function(value,element) {       var length = value.length;       var mobile = /^(((13[0-9]{1})|(15[0-9]{1}))+\d{8})$/;       var tel = /^\d{3,4}-?\d{7,9}$/;       return this.optional(element) || (tel.test(value) || mobile.test(value));     }, "请正确填写您的联系电话");        // 邮政编码验证       jQuery.validator.addMethod("isZipCode", function(value, element) {           var tel = /^[0-9]{6}$/;           return this.optional(element) || (tel.test(value));       }, "请正确填写您的邮政编码");      //开始验证   $('#submitForm').validate({       /**//* 设置验证规则 */      rules: {           username: {               required:true,               stringCheck:true,               byteRangeLength:[3,15]           },           email:{               required:true,               email:true          },           phone:{               required:true,               isPhone:true          },           address:{               required:true,               stringCheck:true,               byteRangeLength:[3,100]           }       },              /**//* 设置错误信息 */      messages: {           username: {                   required: "请填写用户名",               stringCheck: "用户名只能包括中文字、英文字母、数字和下划线",               byteRangeLength: "用户名必须在3-15个字符之间(一个中文字算2个字符)"               },           email:{               required: "请输入一个Email地址",               email: "请输入一个有效的Email地址"          },           phone:{               required: "请输入您的联系电话",               isPhone: "请输入一个有效的联系电话"          },           address:{               required: "请输入您的联系地址",               stringCheck: "请正确输入您的联系地址",               byteRangeLength: "请详实您的联系地址以便于我们联系您"          }       },              /**//* 设置验证触发事件 */      focusInvalid: false,       onkeyup: false,              /**//* 设置错误信息提示DOM */      errorPlacement: function(error, element) {               error.appendTo( element.parent());           },            });     }); 
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表