我想知道是否可以从jQuery UI中的datepicker控件验证所选日期。我知道可以选择以日期格式为界的日期,但也可以手动输入日期。
如果此日期有效,我想检查手动输入日期的时间。 例如2015年4月31日将无效,2015年2月29日也是如此。
我有一些示例代码,以及与演示目的完全相同的代码。
在此示例代码中,我使用了一些脏代码imo。有更简单的方法吗?
HTML
<input type="text" id="txtDatepicker"/>
的Javascript
$("#txtDatepicker").datepicker({
dateFormat: "dd/mm/yy",
onClose: function() {
var textdate = $(this).val();
var day = parseInt(textdate.substring(0, 2));
var month = parseInt(textdate.substring(3, 5));
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
if(day < 1 || day > 30)
{
alert("Invalid date!");
}
default:
if(day < 1 || day > 31) {
alert("Invalid date!");
}
}
}
});
如前所述,这并不总是检查当前年份是否为闰年,因此例如29/02/2015将被视为&#34;有效&#34;在这段代码中。
我该怎么做?我受约束日期格式&#34; dd / mm / yy&#34;因为我的地区,也因为它是实习任务,所以不允许使用其他格式。
提前致谢!
演示:jsFiddle
答案 0 :(得分:0)
我将在这里发一个简短的答案。
我建议使用Moment
,这样可以轻松处理日期!并且比解析日期字符串更可靠,更清晰。
您可以使用凉亭安装它。