jQuery / JavaScript:这是约会吗? (validation是否是日期)

我有datepicker,但我无法找到validation用户条目是否为日期的方法以及是否遵循所需格式( 格式:yyyy-mm-dd

这是我的日期选择器:

$("input[name='date']").datepicker({ dateFormat: 'yy-mm-dd', changeMonth: true, changeYear: true, numberOfMonths: 3, showButtonPanel: true}); 

我查看了这个解决方案,“ 如何validationdatepicker以禁止/拒绝某些日期? ”。 它看起来很简单,但它只检查它是否是一个周末。 它不会检查用户输入的日期,随机数或输入错误(1231 …. 30-30-2011 … 30/30/2011 … 212-565-565 ……等) 。

请摆弄我的小提琴: http : //jsfiddle.net/MDa4A/

其他信息(11-10-2011):
(尝试这些jsFiddles并键入0-0-0或0/0/0)

我用你的答案提出了一个解决方案。 当我使用格式“yy-mm-dd”时它可以工作: http : //jsfiddle.net/LyEvQ/

但是当我使用不同的格式时,它完全没用(Ej。:“mm / dd / yy”) : http : //jsfiddle.net/LyEvQ/1/

我需要两个都工作。 你能帮忙吗?

 if (Date.parse("some string")) { //Valid date } else { //Not a valid date } 

像这样的东西应该工作:

 jQuery.validator.addMethod("customDateValidator", function(value, element) { try { jQuery.datepicker.parseDate("mm/dd/yyyy", value); return true; } catch(e) { return false; } }, "Please enter a valid date" ); $("input[name='date']").rules("add", { customDateValidator:true }); 

使用Date.parse()方法检查日期是否有效:

 var timestamp = Date.parse($("input[name='date']").val()) if (isNaN(timestamp) == false) { var d = new Date(timestamp); }