似乎瞬间的日期解析功能没有按我期望的那样工作。 documentation说:
如果您知道输入字符串的格式,则可以使用该格式来解析时刻。
moment("12-25-1995", "MM-DD-YYYY");
我有以下代码:
moment(value, "MM/DD/YYYY");
在测试时,我输入的字符串不符合MM/DD/YYYY
,但它们已成功解析为有效时刻。
例如,1-1-asdf
解析为01/01/2018
。
如何指定一种或多种日期格式来进行字符串解析,如果它与指定格式不匹配,则解析时刻将无效?
答案 0 :(得分:0)
要进行快速验证,可以使用正则表达式检查:
if (!/^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/.test(value)) {
// Invalid date string
}
答案 1 :(得分:0)
时刻具有解析日期的“严格”模式:
moment("1-1-asdf", "MM/DD/YYYY").toString() => valid, parsed as 01/01/2018
moment("1-1-asdf", "MM/DD/YYYY", true).toString() => invalid, parsed as "Invalid date"
有关更多信息,请参考https://momentjs.com/docs/#/parsing/string-format/。