以下内容主要通过js代码给大家介绍,代码比较简单,包含注释,有好的建议欢迎提出。
如下图,当查询条件含有日期时,如“2012-3-4”,查询前校验输入的日期字符串是否为有效的日期

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; }以上代码就是对日期的有效性校验,希望对大家有所帮助。