是否有更好的JavaScript代码可以将字符串验证为日期时间?

时间:2015-05-29 00:00:02

标签: javascript asp.net date

我在ASP.NET页面中使用CustomValidator将TextBox中的文本验证为日期时间。我只期待一种格式," MM / DD / YYYY HH:MM PM"。 TextBox通常期望由关联的DatePicker填充,但用户仍可以根据需要自由形成它。

下面有'代码,似乎工作。我希望看看是否有更好的JavaScript用于此目的。

function StartDateTimeValidate(source, args)
{
    var d = Date.parse(args.Value);
    if (isNaN(d))
    {
        args.IsValid = false;
    }
}
    </script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="StartDateCalendarTextBox" runat="server" Width="200"></asp:TextBox>
<asp:CustomValidator ID="StartDateCustomValidator" runat="server" 
    ErrorMessage="Bad Date" 
    ClientValidationFunction="StartDateTimeValidate"  
    ValidateEmptyText="false" 
    ControlToValidate="StartDateCalendarTextBox"
    ></asp:CustomValidator>

1 个答案:

答案 0 :(得分:1)

内置的JavaScript Date对象基于一个非常有限的旧Java对象。

我遇到的许多项目都使用moment.js进行任何日期操作或验证。

http://momentjs.com/

如果你不想使用moment.js,你的isNaN()方法可能是最好的。否则你必须自己编写一些解析日期以验证日期。