我在寫一個簡單的函數來驗證日期。問題是,開關操作符似乎不匹配任何東西,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