/**  
  * @author david  
  */  
 $(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("date", function(value, element) { 
    return this.optional(element) || /^[\u0391-\uFFE5\w]+$/.test(value);       
}, "只能包括中文字、英文字母、数字和下划线");//开始验证
$('#submitForm').validate({
    /* 设置验证规则 */  
    rules: {   
        CDNID: {
            required:true,
            stringCheck:true,
            stringCheck:true
        },   
CNAME: {
            required:true,
            stringCheck:true,
            stringCheck:true
        }, 
        MOD_TIME: {   
            required:true,
            stringCheck:true,
            date:true
        }, 
    },   
       
    /* 设置错误信息 */
    messages: {   
        CDNID: {       
            required: "<font color=red>不能为空</font>",
            stringCheck: "输入错误",
            stringCheck: "输入错误"
        },
CNAME: {       
            required: "<font color=red>不能为空</font>",
            stringCheck: "输入错误",
            stringCheck: "输入错误"
        },
MOD_TIME: {       
            required: "<font color=red>不能为空</font>",
            stringCheck: "输入错误",
            date: "输入错误"
        },
       
    },   
           /* 设置验证触发事件 */  
    focusInvalid: false,
    onkeyup: false,
    
    /* 设置错误信息提示DOM */  
    errorPlacement: function(error, element) {       
        error.appendTo( element.parent());       
    },
       
});
  
});现在的日期验证是错的
怎么加个日期的验证

解决方案 »

  1.   

    百度说:日期的正则是
    ("^(?:(?:([0-9]{4}/(?:(?:0?[1,3-9]|1[0-2])/(?:29|30)|((?:0?[13578]|1[02])/31)))|([0-9]{4}/(?:0?[1-9]|1[0-2])/(?:0?[1-9]|1\\d|2[0-8]))|(((?:(\\d\\d(?:0[48]|[2468][048]|[13579][26]))|(?:0[48]00|[2468][048]00|[13579][26]00))/0?2/29))))$"); 
      

  2.   

    日期验证只用修改jQuery validate插件里面1013行,你也可以自己写方法来验证日期,我觉得它自带的日期验证根本用不到实践中,所以索性修改了源代码,如下:
    date: function(value, element) {
    return this.optional(element) || /^((^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(10|12|0?[13578])([-\/\._])(3[01]|[12][0-9]|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(11|0?[469])([-\/\._])(30|[12][0-9]|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(0?2)([-\/\._])(2[0-8]|1[0-9]|0?[1-9])$)|(^([2468][048]00)([-\/\._])(0?2)([-\/\._])(29)$)|(^([3579][26]00)([-\/\._])(0?2)([-\/\._])(29)$)|(^([1][89][0][48])([-\/\._])(0?2)([-\/\._])(29)$)|(^([2-9][0-9][0][48])([-\/\._])(0?2)([-\/\._])(29)$)|(^([1][89][2468][048])([-\/\._])(0?2)([-\/\._])(29)$)|(^([2-9][0-9][2468][048])([-\/\._])(0?2)([-\/\._])(29)$)|(^([1][89][13579][26])([-\/\._])(0?2)([-\/\._])(29)$)|(^([2-9][0-9][13579][26])([-\/\._])(0?2)([-\/\._])(29)$))$/.test(value);
    },
    希望 对你有帮助