Javascript日期验证?
我的代码中有此验证:Javascript日期验证?,javascript,html,node.js,json,reactjs,Javascript,Html,Node.js,Json,Reactjs,我的代码中有此验证: } if(!$('#date').val() ) { toastr.warning('Incomplete date field'); return; } 如何验证输入日期不能大于当前日期?或getdate() 我在旅行 } if(!$('#date').val() )> date.now { toastr.warning('
}
if(!$('#date').val() ) {
toastr.warning('Incomplete date field');
return;
}
如何验证输入日期不能大于当前日期?或getdate()
我在旅行
}
if(!$('#date').val() )> date.now {
toastr.warning('Check date');
return;
}
但是它不工作Date.now()
返回当前时间戳(自1970年1月1日00:00:00 UTC以来经过的毫秒数)。它可以与另一个时间戳进行比较,如下所示:
if (timestamp > Date.now()) {
toastr.warning('Check date');
return;
}
时间戳
此处需要通过将文本转换为从输入值获取。日期对象支持多种格式,请参见示例
假设#数据
输入值为2021-12-31
,时间戳
将为1640908800000,检查日期
警告将显示:
// $('#date').val() is '2020-11-20'
const dateObject = new Date($('#date').val());
const timestamp = dateObject.getTime();
// timestamp is 1640908800000
// Date.now() is 1605139119142
// 1640908800000 > 1605139119142
if (timestamp > Date.now()) {
toastr.warning('Check date');
return;
}
另外,请注意JavaScript是区分大小写的,因此Date
与Date
不同
p.p.S.用Date对象解析日期(特别是时间)有很多问题,所以创建了许多库来可靠地完成这项工作。例如,和。首先,
>日期。现在
应该在parenths中。其次,#date的值是一个字符串,您必须将其转换为日期对象,以便将其与另一个日期进行比较。嘿,Lopez,您通常要做的第一件事是确认从表单中获取的日期格式。假设您得到的是一个有效的Unix epoch时间值,请尝试(Math.abs($('#date').val())