jQuery validate 扩展正则验证

$(document).ready(function(){      
  /**//* 设置默认属性 */
  $.validator.setDefaults({
      s mitHandler: function(form) {
          form.s mit();
     }
 });

 // 字符验证
 jQry.validator.addMethod("stringCheck", function(val, element) {
     return this.optional(element) || /^[\u-\?\w]+$/.test(val);
 }, "只能包括中文字、英文字母、数字和下划线");

 // 中文字两个字节
 jQry.validator.addMethod("byteRangeLength", function(val, element, param) {
     var length = val.length;
     for(var i = ; i < val.length; i++){
         if(val.charCodeAt(i) > ){
         length++;
         }
     }
     return this.optional(element) || ( length >= param[] && length <= param[] );
 }, "请确保输入的值在-个字节之间(一个中文字算个字节)");

 // 身份证号码验证
 jQry.validator.addMethod("isIdCardNo", function(val, element) {
     return this.optional(element) || isIdCardNo(val);
 }, "请正确输入您的身份证号码");
     
 // 手机号码验证
 jQry.validator.addMethod("isMobile", function(val, element) {
     var length = val.length;
     var mobile = /^((([-]{})|([-]{}))+\d{})$/;
     return this.optional(element) || (length ==&& mobile.test(val));
 }, "请正确填写您的手机号码");

 // 电话号码验证
 jQry.validator.addMethod("isTel", function(val, element) {
     var tel = /^\d{,}-?\d{,}$/;    //电话号码格式-
     return this.optional(element) || (tel.test(val));
 }, "请正确填写您的电话号码");
  
 // 联系电话(手机/电话皆可)验证
 jQry.validator.addMethod("isPhone", function(val,element) {
     var length = val.length;
     var mobile = /^((([-]{})|([-]{}))+\d{})$/;
     var tel = /^\d{,}-?\d{,}$/;
     return this.optional(element) || (tel.test(val) || mobile.test(val));
 }, "请正确填写您的联系电话");  

 // 邮政编码验证
 jQry.validator.addMethod("isZipCode", function(val, element) {
     var tel = /^[-]{}$/;
     return this.optional(element) || (tel.test(val));
 }, "请正确填写您的邮政编码");

 //开始验证
 $('#s mitForm').validate({
     /**//* 设置验证规则 */
     rules: {
         username: {
             required:tr,
             stringCheck:tr,
             byteRangeLength:[,]
         },
         email:{
             required:tr,
             email:tr
         },
         phone:{
             required:tr,
             isPhone:tr
         },  
         address:{
             required:tr,
             stringCheck:tr,
             byteRangeLength:[,]
         }
     },

     /**//* 设置错误信息 */
     messages: {
         username: {
             required: "请填写用户名",
             stringCheck: "用户名只能包括中文字、英文字母、数字和下划线",
             byteRangeLength: "用户名必须在-个字符之间(一个中文字算个字符)"
         },
         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());
    },
});

});
这里主要介绍我自己所写的利用构建在jQuery之上的工具库,该库的原文件名为jquery.brady.js,但由于是构建在jQuery之上的,所以在引入页面时,一定要先引入jQuery核心库,如jquery-1.3.2.min.js 该工具库的namespace及主要功能如下: $.brady.util: 放置常用的工具 bindDyanPrompt: 把一段信息用一个动态的面板内显示出来,直接指定容器就行了 toFixedWidth: 定义一个返回定长的字符串工具函数 formatDate: 定义一个javascript日期对象(Date)的格式化函数 getByteCount: 取一个字符串所占用的字节数,英文字母占一个字节,非英文则占两个字节 makeBookmark: 把当前网页加入到浏览器的收藏夹中 $.brady.validator: 定义一个常用的javascript表单项验证工具 isEmpty: 测试传入的字符串是不是空白字符串,返回true或false isDigit: 测试传入的字符串是不是全部由0-9组成,返回true或false isLetter:测试传入的字符串是不是全部由A-Z或a-z组成,返回true或false isDigitOrLetter:测试传入的字符串是不是全部由字母或数字组成,返回true或false isNumber: 是否是有效的数字 isCellphone: 是不是有效的移动电话 isTelPhone: 是不是有效的固定电话 isPhone: 是不是有效的电话号码,包括固定电话或移动电话 isURL: isEmail isIP isDate isPID: 是不是有效的中国公民身份证号码 isMinLength: 不少于最小字符数 isMaxLength: 不大于最大字符数 isMaxBytes: 不大于指定的字节数 isInRange: 是否在某一个范围内 isValidPattern: 是否满足给定的正则表达式 validateFormItem: 执行表单项验证, 必须与jQuery一起结合使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值