JavaScript只允许当前和未来的日期..?

时间:2013-06-27 13:19:23

标签: javascript

我需要一个java脚本来验证文本框,该文本框只需要允许当前和未来的日期。这是一个文本框,我在模糊时验证它。 文本框属性:statingOn

编写如下脚本的

脚本
function pastDateValidation()
{
    var d=document.getElementById("startingOn").value;
        if(new Date(d) < new Date())
    {
        alert(d);
        document.getElementById("startingOn").value="";
    }

}

它正在验证过去的日期,但不是当前日期。我需要从当前到未来的日期。

如果有任何想法请分享你的输入。谢谢。

2 个答案:

答案 0 :(得分:0)

您需要丢弃当前日期的时间部分。 new Date()是当前日期和时间。由于您输入的日期没有时间部分,因此即使日期相同,它也会默认为当前时间之前的午夜。相反,清除当前日期的时间部分:

var today = new Date();
today.setHours(0, 0, 0, 0);

答案 1 :(得分:0)

检查日期对象是否是过去日期。 date.js库非常方便。它附带了许多你可以使用的功能。

function isPastDate(value) {
        var now = new Date;
        var target = new Date(value);

        if (target.getFullYear() < now.getFullYear()) {
            return true;
        } else if (target.getMonth() < now.getMonth()) {
            return true;
        } else if (target.getDate() <= now.getDate()) {
            return true;
        }

        return false;
    }