Javascript 如何使用Jquery验证日期是否在两个日期之间?
我想检查一个日期是否出现在两个日期之间。 如果此日期发生在这两个日期之间,则函数应返回true,否则应返回falseJavascript 如何使用Jquery验证日期是否在两个日期之间?,javascript,jquery,Javascript,Jquery,我想检查一个日期是否出现在两个日期之间。 如果此日期发生在这两个日期之间,则函数应返回true,否则应返回false <script src="http://code.jquery.com/jquery-1.9.1.js"></script> <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script> <script> function dateC
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<script>
function dateCheck() {
var fDate,lDate,cDate;
fDate = jQuery.datepicker.formatDate('dd-mm-yy', new Date()); // firstdate
cDate = jQuery.datepicker.parseDate('dd-mm-yy',
jQuery('#challenge_date').val()); // date from form
lDate = jQuery.datepicker.formatDate('dd-mm-yy', new Date());
lDate.setDate(lDate.getDate() + 7); // lastdate
if((cDate <= lDate && cDate >= fDate)) {
alert("true");
return true;
}
alert("false");
return false;
}
</script>
<form action="#" method="post" onsubmit="return dateCheck()">
<input type="date" name="challenge_date" id="challenge_date">
<input type="submit" value="check">
</form>
函数dateCheck(){
风险值fDate、lDate、cDate;
fDate=jQuery.datepicker.formatDate('dd-mm-yy',new Date());//firstdate
cDate=jQuery.datepicker.parseDate('dd-mm-yy',
jQuery('#challenge_date').val();//表单中的日期
lDate=jQuery.datepicker.formatDate('dd-mm-yy',new Date());
lDate.setDate(lDate.getDate()+7);//lastdate
如果((cDate=fDate)){
警惕(“真实”);
返回true;
}
警告(“假”);
返回false;
}
有人能指出我的错误吗?推我向正确的方向?日期函数不支持dd/mm/yyyy。所以试试这个
function dateCheck() {
var fDate,lDate,cDate;
fDate = jQuery.datepicker.formatDate('dd-mm-yy', new Date()); // firstdate
cDate = jQuery.datepicker.parseDate('dd-mm-yy', jQuery('#challenge_date').val()); // date from form
lDate = jQuery.datepicker.formatDate('dd-mm-yy', new Date());
var dateFrom = fDate.split("-");
var dateTo = lDate.split("-");
var dateCheck = cDate.split("-");
var from = new Date(dateFrom[2], parseInt(dateFrom[1])-1, dateFrom[0]); // -1 because months are from 0 to 11
var to = new Date(dateTo[2], parseInt(dateTo[1])-1, dateTo[0]);
var check = new Date(dateCheck[2], parseInt(dateCheck[1])-1, dateCheck[0]);
if((check <= to && check >= from)) {
alert("true");
return true;
}
alert("false");
return false;
}
函数日期检查(){
风险值fDate、lDate、cDate;
fDate=jQuery.datepicker.formatDate('dd-mm-yy',new Date());//firstdate
cDate=jQuery.datepicker.parseDate('dd-mm-yy',jQuery('#challenge_date').val();//表单中的日期
lDate=jQuery.datepicker.formatDate('dd-mm-yy',new Date());
var dateFrom=fDate.split(“”);
var dateTo=lDate.split(“”);
var dateCheck=cDate.split(“”);
var from=新日期(dateFrom[2],parseInt(dateFrom[1])-1,dateFrom[0]);//-1,因为月份从0到11
var to=新日期(dateTo[2],parseInt(dateTo[1])-1,dateTo[0]);
var check=新日期(dateCheck[2],parseInt(dateCheck[1])-1,dateCheck[0]);
如果((检查=从)){
警惕(“真实”);
返回true;
}
警告(“假”);
返回false;
}
您正在使用html本机日期输入类型。因此,不需要使用jQuery datepicker API。只需从输入值创建日期对象,并与其他日期对象进行比较
函数日期检查(){
风险值fDate、lDate、cDate;
fDate=new Date();//firstdate
cDate=新日期($(“#挑战_日期”).val();//表单中的日期
lDate=新日期();
lDate.setDate(lDate.getDate()+7);//lastdate
if(Date.parse(cDate)=Date.parse(fDate)){
警惕(“真实”);
返回true;
}
警告(“假”);
返回false;
}
jquery没有日期函数-您认为是Javascript,formatDate()
的结果是一个字符串。您需要使用实际日期()对象。请访问:-我正在尝试使您的脚本正常工作。当我检查控制台时,它说:lDate.getDate()不是一个函数,它不工作,因为fDate和lDate现在是相同的。我需要L日期为今天的日期+7天。谢谢你的努力=)