在javascript格式的javascript中验证时间和日期

时间:2016-08-02 15:47:14

标签: javascript html forms

我尝试了很多方法来使用Javascript函数验证日期和时间,但似乎没有任何方法可行。我想提醒用户他们的日期输入是过去的日期,而时间开始不能与时间结束相同,它不能晚于时间结束。 我的HTML代码:

<p>
<label> Date:
 <input type="date" id="date" name="date" required />
</label>
</p>

<p>
<label> Time start:
 <input type="time" id="timeStart" name="timeStart" required />
</label>
</p>

<p>
<label> Time end:
 <input type="time" id="timeEnd" name="timeEnd" required />
</label>
</p>

Javascript我试过了:

 function valiDate(date) {
     var today=new Date();
     var inputDate=document.getElementById("date").value;

     if (inputDate < today) {
         alert("Your event cannot happen in the past.");
     }
   }



 function checkDate(date)
   {

    var dateInput=document.getElementById("date").value;
    var parts=date.split("/");
    var yearInput=parts[0];
    var monthInput=parts[2];
    var dayInput=parts[3];


    var minYear = 1902;
    var maxYear = (new Date()).getFullYear();
    var maxMonth = (new Date()).getMonth();
    var currentDay = (new Date()).getDate();

    if (yearInput<maxYear || monthInput<maxMonth || dayInput<currentDay ) {
        alert("Event cannot be held in the past. Move on.");
    }
}

2 个答案:

答案 0 :(得分:0)

用于比较日期的方法是错误的。

d1.getTime() === d2.getTime();
d1.getTime() !== d2.getTime();

使用getTime()运算符或dates.compare()函数。 如果您想分割日期,请使用&#39; - &#39;拆分他们。

这是一个有效的jsFiddle: https://jsfiddle.net/BoyWithSilverWings/rc08otjc/

答案 1 :(得分:0)

请试试这个

var express = require('express');
var app = express();
app.use(express.static(__dirname + '/images'));