纯javascript判断查询日期是否为有效日期

(编辑:jimmy 日期: 2024/10/6 浏览:2)

以下内容主要通过js代码给大家介绍,代码比较简单,包含注释,有好的建议欢迎提出。

如下图,当查询条件含有日期时,如“2012-3-4”,查询前校验输入的日期字符串是否为有效的日期

纯javascript判断查询日期是否为有效日期

var snapshot_createTime_begin=$(selector+" input[name='createTime_begin']").val().trim();
      var snapshot_createTime_end=$(selector +" input[name='createTime_end']").val().trim();
      try{
        //判断开始时间是否为有效的日期
        if(snapshot_createTime_begin!=""&&new Date(snapshot_createTime_begin).getDate()!=snapshot_createTime_begin.match(/-\d{0,2}$/g)[0].replace(/-/g,"")){
          throw new Error();
        }
        //判断结束时间是否为有效的日期
        if(snapshot_createTime_end!=""&&new Date(snapshot_createTime_end).getDate()!=snapshot_createTime_end.match(/-\d{0,2}$/g)[0].replace(/-/g,"")){
          throw new Error();
        }
        if(Date.parse(snapshot_createTime_begin)>Date.parse(snapshot_createTime_end)){
          //alert("开始日期不应当超过结束日期!");
          alert("开始日期不应当超过结束日期!");
          return ;
        }
        $.extend(pageObj,{
          createTimeBegin:snapshot_createTime_begin,
          createTimeEnd:snapshot_createTime_end,
        });
        initPagination();
      }catch(e){
        //alert("请输入有效日期!")
        alert("请输入有效日期!");
      }

js判断年月日是否一个有效日期

function isdate(intYear,intMonth,intDay){ 
 if(isNaN(intYear)||isNaN(intMonth)||isNaN(intDay)) return false;   
 if(intMonth>12||intMonth<1) return false; 
 if ( intDay<1||intDay>31)return false; 
 if((intMonth==4||intMonth==6||intMonth==9||intMonth==11)&&(intDay>30)) return false; 
 if(intMonth==2){ 
   if(intDay>29) return false;  
   if((((intYear%100==0)&&(intYear%400!=0))||(intYear%4!=0))&&(intDay>28))return false; 
  }
 return true; 
}

以上代码就是对日期的有效性校验,希望对大家有所帮助。

一句话新闻

Windows上运行安卓你用过了吗
在去年的5月23日,借助Intel Bridge Technology以及Intel Celadon两项技术的驱动,Intel为PC用户带来了Android On Windows(AOW)平台,并携手国内软件公司腾讯共同推出了腾讯应用宝电脑版,将Windows与安卓两大生态进行了融合,PC的使用体验随即被带入到了一个全新的阶段。