谁提供一下报表中如何验证日期JS脚本。

报表中有开始日期,结束日期。现在需要验证开始日期不能大于结束日期。同时验证输入日期是否合法。对JS不熟悉,那位高手提供一个列子。
参与2

1同行回答

cp123456cp123456项目经理gs
哦,这个很好办!先判断两个日期的大小,然后再用正则表达式即可。if(startDate>endDate){                                        alert("开始日期不能大于结束日期!"...显示全部
哦,这个很好办!先判断两个日期的大小,然后再用正则表达式即可。if(startDate>endDate){
                                        alert("开始日期不能大于结束日期!");
                                        return;
                                },下面是验证:/*
用途:判断是否是日期
输入:date:日期;fmt:日期格式
返回:如果通过验证返回true,否则返回false
*/
function isDate( date, fmt ) {
if (fmt==null) fmt="yyyyMMdd";
var yIndex = fmt.indexOf("yyyy");
if(yIndex==-1) return false;
var year = date.substring(yIndex,yIndex+4);
var mIndex = fmt.indexOf("MM");
if(mIndex==-1) return false;
var month = date.substring(mIndex,mIndex+2);
var dIndex = fmt.indexOf("dd");
if(dIndex==-1) return false;
var day = date.substring(dIndex,dIndex+2);
if(!isNumber(year)||year>"2100" || year< "1900") return false;
if(!isNumber(month)||month>"12" || month< "01") return false;
if(day>getMaxDay(year,month) || day< "01") return false;
return true;
}

function getMaxDay(year,month) {
if(month==4||month==6||month==9||month==11)
return "30";
if(month==2)
if(year%4==0&&year%100!=0 || year%400==0)
return "29";
else
return "28";
return "31";
}收起
软件开发 · 2011-07-20
浏览333

提问者

doujiafa
商业智能工程师wondertek
擅长领域: 大数据商业智能

相关问题

相关资料

问题状态

  • 发布时间:2011-07-20
  • 关注会员:1 人
  • 问题浏览:3086
  • 最近回答:2011-07-20
  • X社区推广