用时刻严格解析日期

rob*_*rob 6 javascript datetime date momentjs

当您moment从日期字符串创建并传入格式时,非常松散地检查日期字符串与格式.例如,以下日期都是有效的

moment('1','YYYY-MM-DD').isValid() //true
moment('1988-03','YYYY-MM-DD').isValid() //true
moment('is a val1d date!?#!@#','YYYY-MM-DD').isValid() //true
Run Code Online (Sandbox Code Playgroud)

有没有办法只接受符合指定格式的日期?

J. *_*tus 12

从版本2.3.0开始,您可以为最后一个参数指定一个布尔值,以使Moment使用严格的解析.严格的解析要求格式和输入完全匹配,包括分隔符.

moment('It is 2012-05-25', 'YYYY-MM-DD').isValid();       // true
moment('It is 2012-05-25', 'YYYY-MM-DD', true).isValid(); // false
Run Code Online (Sandbox Code Playgroud)

在Moment JS文档的这一部分中找到