javascript - javascript如何验证日期输入?

  显示原文与译文双语对照的内容
109 3

我正在构建一个日期选择器反应组件,用户可以以在日历中键入日。月。年或者选择它。

我是懒惰的,并且看到日期对于使用以下文本输入是否有效:

 validateDate(event) {
 const { selectedDay, selectedMonth, selectedYear } = this.state;
 const checkDateIsValid = new Date(
 selectedMonth.toString() + '/' +
 selectedDay.toString() + '/' +
 selectedYear.toString());
 if (checkDateIsValid == 'Invalid Date') {
 this.setState({ validDate: false });
 }
 else {
 this.setState({ validDate: true });
 }
 }

但是,在 February invalid invalid的无效日期将创建一个有效的日期对象。我知道我可以以通过手动比较日和月字段来获得输入验证,但是我想知道是否有更快的方法。先谢谢了

时间:原作者:0个回答

103 3

你可以使用 Moment.js 来检查日期是否有效。我不知道你为什么要把日期和时间。但它会帮助你 !

var date = moment(YOUR_DATE_STRING);//For example --> moment('2017-11-22')
if(date.isValid()) {
 this.setState({ validDate: true });
}
else {
 this.setState({ validDate: false });
}
原作者:
...