【问题标题】:JavaScript to allow only current and future dates..?JavaScript 只允许当前和未来的日期..?
【发布时间】:2013-06-27 13:19:22
【问题描述】:

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

编写如下java脚本

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

}

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

如果有人有想法,请分享你的意见。在此先感谢。

【问题讨论】:

标签: javascript


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    检查日期对象是否为过去日期。 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;
        }
    

    【讨论】:

      猜你喜欢
      • 2021-09-07
      • 1970-01-01
      • 1970-01-01
      • 2014-03-20
      • 2013-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-12
      相关资源
      最近更新 更多