Moment.js解析通配符

时间:2018-06-22 06:16:35

标签: javascript momentjs

momentjs中,有一种方法可以在严格解析输入时接受通配符吗?

通过传递true作为第三个参数来严格解析输入。

我想容纳DD/MM/YYYY DD-MM-YYYY DD.MM.YYYY DD MM YYYY。 我可以将它们全部添加到一个数组中,但是我更喜欢使用*.,因此我不必维护列表。忽略分隔符是否可以严格要求日期格式?

moment('12/12/2012', ["DD/MM/YYYY", "DD-MM-YYYY", "DD.MM.YYYY", "DD MM YYYY"], true).isValid() === true;

// ideally ignore delimiter type, this evaluates to false
moment('12/12/2012', "DD*MM*YYYY", true).isValid() === false;

1 个答案:

答案 0 :(得分:1)

严格解析在逻辑上与通配符相反。例如,您可能想拒绝'01/01-2020'

这就是您正在使用的变体的形式(严格的多格式)。

对于非严格情况,documentation很清楚:

  

解析器将忽略非字母数字字符,因此以下两个都将返回相同的内容。

moment("12-25-1995", "MM-DD-YYYY");
moment("12/25/1995", "MM-DD-YYYY");