【问题标题】:How to validate current date using input tag in javascript如何在javascript中使用输入标签验证当前日期
【发布时间】:2017-12-13 16:40:05
【问题描述】:

如何在 javascript 中使用输入标签验证当前时间 不使用最小值和最大值。如果今天的日期是 2017 年 12 月 12 日并且我输入 2017 年 12 月 11 日,则该过程将无效。

<input type="date" id="date" name="date">

【问题讨论】:

  • 请不要在 Javascript 问题中添加“Java”标签。这两者之间的关系就像奥地利与澳大利亚的关系一样。
  • 为什么“不使用最小值和最大值”?
  • 您似乎在要求用户输入今天的日期。为什么?你正在编写软件。用户不需要决定今天的日期。只需询问时钟(在服务器或客户端上,具体取决于您关心的时区)。

标签: javascript html


【解决方案1】:

试试这个,假设你想测试过去的日期

window.onload = function() {
  var dField = document.getElementById("date");
  dField.oninput = function() {
    this.classList.remove("error");
    var d = new Date(this.value),
      now = new Date();
    now.setHours(0,0,0,0);
    d.setHours(0,0,0,0);
    if (now.getTime() > d.getTime()) {
      this.classList.add("error");
    }
  }
}
.error {
  border: 1px solid red
}
&lt;input type="date" id="date" name="date" /&gt;

【讨论】:

  • 投反对票是因为你不喜欢这个问题或答案?
【解决方案2】:
// date from input
var inputDate

// Get today's date
var todaysDate = new Date();

// call setHours to take the time out of the comparison
if(inputDate.setHours(0,0,0,0) == todaysDate.setHours(0,0,0,0)) {
// Date equals today's date
}

这个答案取自 James Hill 在这篇文章中: How to check if input date is equal to today's date?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-22
    • 2022-11-21
    • 1970-01-01
    • 1970-01-01
    • 2021-07-12
    • 1970-01-01
    相关资源
    最近更新 更多