jQuery - 从datepicker验证日期

时间:2015-04-17 14:33:53

标签: javascript jquery validation date datepicker

我想知道是否可以从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

1 个答案:

答案 0 :(得分:0)

我将在这里发一个简短的答案。

我建议使用Moment,这样可以轻松处理日期!并且比解析日期字符串更可靠,更清晰。

您可以使用凉亭安装它。

http://bower.io

https://github.com/moment/moment