Javascript 验证日期,以便该日期不能在将来或过去

Javascript 验证日期,以便该日期不能在将来或过去,javascript,jquery,validation,Javascript,Jquery,Validation,我有一张有日期输入的表格。在Javascript中,我可以确保所选值既不是未来日期也不是过去日期的最佳方式是什么。我已经实现了jQuery日期选择器来选择日期,请参见下面的代码 $(函数(){ var date=$('#datepicker').datepicker({dateFormat:'yy-mm-dd'}).val(); }); 函数ValidateForm(){ var date\u of循环=document.forms[“myForm”][“date\u of\u循环”]。值;

我有一张有日期输入的表格。在Javascript中,我可以确保所选值既不是未来日期也不是过去日期的最佳方式是什么。我已经实现了jQuery日期选择器来选择日期,请参见下面的代码


$(函数(){
var date=$('#datepicker').datepicker({dateFormat:'yy-mm-dd'}).val();
});
函数ValidateForm(){
var date\u of循环=document.forms[“myForm”][“date\u of\u循环”]。值;
如果(循环日期==空| |循环日期==“”){
提醒(“您必须选择手稿分发的日期”);
返回false;
}
}
发行日期:


你可以这样做

var yourDate = new Date("12/5/2015"); //input value

var todayDate = new Date(); //Gets the today's date value
您必须使用函数
setHours

if(yourDate.setHours(0,0,0,0) == todayDate.setHours(0,0,0,0));
{
    //Do your stuff
}
注意:您也可以使用jquery的日期选择器来完成

var currentDate = new Date();
$("#datepicker").datepicker("setDate", currentDate);
这样您就可以确保今天的日期已经被选中

编辑:您还可以查看datejs


如果日期字段必须设置为当前日期,则未来或过去的日期不得超过 将文本字段的默认值设置为当前日期,您不需要使用日期选择器,因为没有任何其他日期选项的日期选择器对用户不友好。 同样通过这种方式,您不需要在提交时验证表单

<input name="date_of_circulation" input type="text" id="datepicker" value="<?php echo date('Y-m-d'); ?>" readonly="readonly">

我通过引入maxdate和mindate找到了一个有效且简单的解决方案,如下所述:。在重新考虑验证规则后,我决定对循环值日期的逻辑验证可以是过去的日期,但不能超过当前日期,因此将日期选择器中的var日期更改为


var date=$(“#datepicker”).datepicker({maxDate:new date,dateFormat:'yy-mm-dd',minDate:new date(0)})
意思是,必须是今天?
日期不能是将来或过去
你的意思是日期是今天???
日期不能是将来或过去
那么日期选择器有什么用?如果总是必须是今天,那么拥有日期选择器没有多大意义。设想一下,如果您比较的是日期和秒数,那么您必须始终更新日期选择器以匹配当前的精确时间戳。如果数据总是只有一件事,那就没有意义了。我猜这可以作为一种验证码,以确保用户是人。“请在日期选择器中选择今天”。谢谢@identity Unknown。好东西,尤其是DateJSAPI文档