直接贴代码,等会在说话:
var end_time=$('#id_end_time').val(); if(end_time==''){ alert('有效截止时间不能为空!'); return false; }else{ var matchArray=end_time.match(/^([0-9]{4})-([0-1][0-9])-([0-3][0-9])$/); if(matchArray==null){ alert("Invalid date: " + end_time); return false; }else{ if(!isdate(matchArray[1],matchArray[2],matchArray[3])){ alert("Invalid date: " + end_time); return false; } } } 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; }
其中第一行是获值,然后判断是否为空就是了,这个大家应该都知道写。其次是判断是否符合格式2013-04-17,这里我使用的是正则表达式。最后函数isdate是判断是否为一个合法的日期,这个函数是在网上搜的。。