Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用Jquery验证日期是否在两个日期之间?_Javascript_Jquery - Fatal编程技术网

Javascript 如何使用Jquery验证日期是否在两个日期之间?

Javascript 如何使用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

我想检查一个日期是否出现在两个日期之间。 如果此日期发生在这两个日期之间,则函数应返回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 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天。谢谢你的努力=)