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); }