JavaScript中用户输入的日期限制

时间:2016-01-19 17:22:50

标签: javascript

我正在尝试使用具有以下限制的日期输入框。日期必须是今天或更早,但不超过1年。我有以下几行:

if (myFDGDT - todayDate > 0 || (myFDGDT - todayDate)/86400000 < -365)

当某些人在今天的日期之后输入日期时,其中的第一部分会创建适当的警报。不确定将入场限制在一年前的最佳方式。尝试了一些项目,但上面只是我上次尝试的一个例子。这也是在依赖项中编写的,而不是在我们的条目客户端的全局JavaScript中。

2 个答案:

答案 0 :(得分:1)

这是一个片段,它将生成一年前的Date对象。您可以根据需要使用大于/小于运算符进行比较。

var oneyear = new Date('01/01/1971'); // from unix epoch
var now = new Date();
var oneyearago = new Date(now - oneyear);
alert(oneyearago);

答案 1 :(得分:0)

如果您在应用程序中经常操作日期,则应考虑使用momentjs库。对于您的问题,解决方案将类似于:

    var momentdate = moment(date);
    if (momentdate.isAfter(momentdate.add(1, 'year') ||
     momentdate.isBefore(momentdate.startOf('day')) {
      // Invalid date?
    }

希望这有帮助。