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();
输出
invalidAt 的输出为 1 ,指向月份,因为月份值大于 12 并且溢出。如果发生溢出,invalidAt 将给出如下表所示的输出 −
0 | years |
1 | months |
2 | days |
3 | hours |
4 | minutes |
5 | seconds |
6 | milliseconds |
如果给定日期内有多个溢出,则它将是第一个溢出索引的输出。