如何使用javascript将验证日期设置为不小于文本框中的开始日期

How validation date to not less than the start date in textbox using javascript

本文关键字:日期 文本 开始 不小于 设置 javascript 何使用 验证      更新时间:2024-03-28

我有两个日期:

开始日期

<input type="text" name="startdate" value="2016-04-08">

结束日期

<input type="text" name="enddate" value="2016-09-02">

但是如何使用javascript验证结束日期的天数不小于开始日期的天数。

startdate '08' = end date '02' and 'not ok'
or
startdate '08' = end date '08' and 'ok'

感谢

如果你只需要比较天数,你所要做的就是检查一个值是否等于或高于另一个值。

您可以通过获取这两个值来实现这一点,取最后一部分并进行比较。例如:

var date = '2016-04-08';
var day = date.split('-')[2];

split将字符串转换为数组:MDN

最后一个值是天。如果您想将其作为数字进行比较,请确保将其转换为数字(或int):MDN

演示

如果你想比较整个日期,这对IMO来说更有意义,那就有点棘手了。在这种情况下,您必须将这些值转换为适当的JS Date对象。一旦它们都是Date对象,就可以对它们进行比较。

为此,您也可以使用如上所述的split部分。为Date对象提供三个部分(年、月、日)以创建有效的日期对象。

DEMO

你可以这样做,

function CheckSchedulingDates() {
  var SD = document.getElementById('startdate').value;
  var ED = document.getElementById('enddate').value;
  if (Date.parse(SD) >= Date.parse(ED)) {
    return 'The ending date must occur after the starting date.'    
  }
}