我如何通过javascript验证datetime字段输入

How do i validate a datetime field input through javascript?

本文关键字:datetime 字段 输入 验证 javascript 何通过      更新时间:2023-09-26

我有一个HTML页面,有几个字段,其中之一是选择DateTime使用jquery插件,它让用户选择DateTime喜欢:2011-06-05 07:102011-03-05 11:10等。我的问题是我如何验证这个字段值张贴到服务器之前。我想使用javascript来确保字段值只有DateTime在这种格式,而不是一个无效的值,如"2231""afaf"

如果用户想要篡改他发送的数据,他可以绕过jQuery插件以及任何用于客户端验证的附加代码。那么在客户端编写额外的验证代码就没有意义了。

如果用户不想要篡改他发送的数据,jQuery插件应该单独确保一个适当的格式。那么在客户端编写额外的验证代码就没有意义了。

你也必须在服务器上验证。

在客户端测试这样一个日期字符串最简单的方法是使用date。除了使用日期解析之外,我没有测试格式。如果用户输入另一种格式,您也需要进行测试)
var DT = Date.parse(DateTime.replace("-","/","g"));
if (isNaN(DT)) {
  alert('Invalid date');
  return false;
}
var testDate = new Date(DT);
var parts = DateTime.split(" ")[0].split("-");
if (testDate.getFullYear() != parseInt(parts[0]) ||
    testDate.getMonth() != parseInt(parts[1]-1) ||
    testDate.getDate() != parseInt(parts[2])) {
  alert('Invalid date');
  return false;
}

如果您使用小部件来创建日期,这当然是完全不必要的。