MomentJS - 日期验证

MomentJS 以简单的方式处理日期验证。您无需编写大量代码来验证日期。isValid() 是 moment 上可用的方法,用于判断日期是否有效。MomentJS 还提供了许多解析标志,可用于检查日期验证。

解析标志

如果给定的日期被视为无效,MomentJS 会提供以下解析标志 −

overflow − 当给定的月份为 13 号、日期为一年中的 367 号或一个月中的 32 号、非闰年的 2 月为 29 号等时,就会发生这种情况。Overflow 包含与 invalidAt 匹配的无效单位的索引。请注意,-1 表示无溢出。

invalidMonth − 显示无效的月份名称。它将给出无效的月份字符串或 null。

Empty − 当给出的输入不是日期时。它会给出一个布尔值。

nullInput − 一个 null 输入,如 moment(null);它返回一个布尔值。

invalidFormat − 当给出的格式为空时,例如 moment('2018-04-25', [])。它返回布尔值。

userInvalidated − 明确创建为无效的日期,例如 moment.invalid()。它返回布尔值。

meridiem − 表示解析的子午线 (AM/PM)(如果有)。它返回字符串。

parsedDateParts − 它返回解析的日期部分数组,例如 parsedDateParts[0] 作为年份、parsedDateParts[1] 作为月份和 parsedDateParts[2] 作为日期。如果没有部分存在,但 meridiem 有值,则日期无效。它返回一个数组。

请考虑以下示例以了解日期验证 −

var a = moment("2018-18-10T10:20:25");
a.isValid();
a.invalidAt();

输出

Validation

invalidAt 的输出为 1 ,指向月份,因为月份值大于 12 并且溢出。如果发生溢出,invalidAt 将给出如下表所示的输出 −

0 years
1 months
2 days
3 hours
4 minutes
5 seconds
6 milliseconds

如果给定日期内有多个溢出,则它将是第一个溢出索引的输出。