验证日期如何使用javascript不低于文本框中的开始日期

时间:2016-04-08 08:26:04

标签: javascript date

我有2个日期:

开始日期

<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'

三江源

2 个答案:

答案 0 :(得分:0)

如果您只需要比较天数,您只需检查一个值是否等于或高于另一个值。

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

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

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

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

<强> DEMO

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

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

<强> DEMO

答案 1 :(得分:0)

你可以这样做,

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.'    
  }
}