validation无效日期/闰年

尝试使用jquery来做这件事,我找到了一个名为“真实日期validation”的插件。 我似乎无法正确实现它。

谁能帮我? 试图validation日期2-31- [whateveryee]不应该工作,以及闰年……

    $(document).ready(function() { var month = $('#mo').val(); var day = $('#tDay').val(); var year = $('#tYear').val(); var date = new Date(month+"/"+day+"/"+year); if(day == "29" && month == "02") { if(year % 4 == 0 && ( year % 100 != 0 || year % 400 == 0)) { return true } else { return false; } } else if(month == (date.getMonth()+1) && day == date.getDate() && year == date.getFullYear()) { return true; } else { return false; } });  

Date Selection

<FORM method="POST" action=""> SELECT MONTH January February March April May June July August September October November December SELECT DAY 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 SELECT YEAR 2011 2010 2009 2008 2007 2006 2005 2004 2003 2002 2001 2000 1999 1998 1997 1996 1995 1994 1993 1992 1991 1990 1989 1988 1987 1986 1985 1984 1983 1982 1981 1982

为什么不用PHP做呢?

  

无需亲自检查。 JavaScript Date对象将为您执行此操作。 创建对象后,只需将属性与原始值进行比较:

我把它放在一个单独的函数中,因为从ready函数返回一个值是没有意义的:

 function validateDate() { var month = +$('#mo').val() - 1; // Convert to numbers with "+" prefix var day = +$('#tDay').val(); var year = +$('#tYear').val(); var date = new Date(year, month, day); // Use the proper constructor return date.getFullYear() == year && date.getMonth() == month && date.getDate() == day; }