使用 isNan 和 Date.parse 检查日期是否有效



我正在构建类似于日期选择器/日历的东西,并且我使用以下表达式从输入中获取数据:

 isNaN(Date.parse(event.target.value)) ? date = new Date() : new Date(event.target.value);

以验证是否为有效日期。

但似乎不起作用,我总是得到今天的约会。

我看到了有关日历的其他解决方案,但我不想使用正则表达式或时刻.js或其他依赖项。因为我也在后端进行检查,并使用特定的格式。

我的问题与为什么 isNaN 没有按预期工作有关,而不是日期选择器。

我使用以下模式作为日期:12/11/2014

如果我尝试使用这种格式"Aug 9, 1995",并且在我使用之后:

day = date.getDate();

我收到一个错误:"TypeError: date is undefined" .Date.parse 返回807915600000

我控制台.log event.target.value没关系,获取值没有问题。

我解决了这些问题,它与日期无关,而是在三元运算符中。

我使用 ? date = new Date() 而不是使用 date = 作为获得回报的变量。

最新更新