如何检查日期字符串是否遵循特定的数据格式



我有一个应用程序,用户可以指定自己的数据格式,如'MM/dd/yyyy', 'MM/dd/yy'等

一旦我收到一个日期字符串,我需要验证日期字符串是否对给定的格式有效。

我试图使用moment(dataString, dateFormat).isValid(),但看起来它不做的工作

对于dateString:01/01/20
与dateFormatMM/dd/yyyy,期望false

with dataFormatMM/dd/yy, expecttrue

moment('01/01/2020', 'MM/dd/yy').isValid()——expect: false, actual: true

moment('01/02/2020', 'MM/dd/yyyy', true).isValid()——expect: true, actual: false

我可以使用什么来实现这一点?

您必须大写DD并在第三个参数中提供true,以启用严格解析

console.log(moment('This string includes a date with slashes 01/01/2020', 'MM/DD/YYYY').isValid())
console.log(moment('This string does not include a date with slashes', 'MM/DD/YYYY').isValid())
console.log(moment('01/01/2020', 'MM/DD/YYYY', true).isValid())
console.log(moment('01/01/2020', 'MM/dd/YYYY', true).isValid())
console.log(moment('01/01/20', 'MM/dd/YYYY', true).isValid())
console.log(moment('01/01/20', 'MM/DD/YY', true).isValid())
<script src="https://momentjs.com/downloads/moment.min.js"></script>

相关内容

  • 没有找到相关文章

最新更新