我正在检查日期格式是否有效。为什么这种格式有效?

  alert(moment('16-jun-199', 'DD-MMM-YYYY').isValid())


为什么它使我为真。应该为假。为什么?
这是我的代码

http://plnkr.co/edit/ZH2kjC9QWwbdLwmvH2Tp?p=preview
我在哪里做错.formate应该是'DD-MMM-YYYY'

最佳答案

你可以试试这个

moment('16-jun-199', 'DD-MMM-YYYY',true).isValid())


注意:用于strict解析的其他true标志。告诉您不要使用通配符并使用完全匹配。


  Moment的解析器非常宽容,这可能导致
  不良/意外行为。
  
  例如,可以观察到以下行为:


 moment('2016 is a date', 'YYYY-MM-DD').isValid() //true, 2016 was
 matched



  从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
moment('2012-05-25',       'YYYY-MM-DD', true).isValid(); // true
moment('2012.05.25',       'YYYY-MM-DD', true).isValid(); // false


资料来源:https://momentjs.com/docs/

09-25 17:37
查看更多