我在写一个简单的函数来验证日期。问题是,开关操作符似乎不匹配任何东西,maxDay
的值仍然为0.如果我使用if
语句,我没有任何问题。使用开关命令进行日期验证不起作用
function validateDateFormat(day,month,year) {
alert(month); // this was to ensure month was correct and it is!!
var maxDay = 0;
switch(month)
{
case 01 :
case 03 :
case 05 :
case 07 :
case 08 :
case 10 :
case 12 : maxDay = 31; break;
case 04 :
case 06 :
case 09 :
case 11 : maxDay = 30; break;
case 02 : if(year%4 == 0) maxDay = 29;
else maxDay = 28;
break;
//default : return " Invalid month -"; break;
}
alert(maxDay);
if(day > maxDay) {return " Invalid day -";}
return "";
}
闰年实际上并不是每隔4年发生一次。鉴于你的应用程序的生命和日期,你将会验证这可能不重要。只是想你可能想知道他们在400年的周期中工作,所以闰年之间偶尔会有8年的差距。见[为什么使用闰年](http://www.timeanddate.com/date/leapyear.html) – Jonathan 2012-01-09 19:20:27
它在Firebug中对我来说工作得很好。 – 2012-01-09 19:21:57