[转] Js判断日期及日期比较

转载自: http://blog.sina.com.cn/s/blog_439545b50100i3g8.html

一. JS判断比较日期

//判断有效日期
function isDate(val){
     if(document.getElementByIdx(val).value.match(/^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$/)==null){
          alert("请输入有效的日期!");
          document.getElementByIdx(val).focus();
    return false;
  }
  return true;    
 }

function funcontact(){
   var beginTime=document.frm.begin_time.value;
   var endTime=document.frm.end_time.value;
   if(isDate('begin_time')&& isDate('end_time')){
    var supperId=document.frm.supper_id.value;
    var b=beginTime.replace(/-/g, "/");//2010-04-29  2010/04/29
    var e=endTime.replace(/-/g, "/");
    var dt1=new Date(Date.parse(b));
                             var dt2=new Date(Date.parse(e));
             
             if(dt1>dt2){//比较日期
              alert("开始日期不能晚于结束日期!");
              return;
             }else{
              location.href="/vrm/user/HeYueCtrl?supper_id="+supperId+"&begin_time="+beginTime+"&end_time="+endTime+"";
     return;
             }
    
   }
 }

 

二. jQuery比较

需要使用jQuery的validate插件

 jQuery.validator.addMethod("endDate",
       function(value, element) {
           var startDate = $('#opendate').val();
           return new Date(Date.parse(startDate.replace("-", "/"))) <= new Date(Date.parse(value.replace("-", "/")));
       },
       "结束日期必须大于开始日期!");
      
      jQuery.validator.addMethod("nowDate",
       function(value, element) {
          
           return new Date() <= new Date(Date.parse(value.replace("-", "/")));
       },
       "下架时间不能早于当前时间");

posted on 2011-11-09 15:28  DavidYanXW  阅读(11980)  评论(0)    收藏  举报