我们有一个地址,根据momentjs报告为有效..有什么想法吗?
你可以看到这个小提琴中的行为
var wrong_date = "7840 W HICKS STREET";
document.write(moment(wrong_date, "YYYY-MM-DD HH:mm:ss").isValid()); //returns true
答案 0 :(得分:1)
使用strick格式解析:
var wrong_date = "7840 W HICKS STREET";
document.write(moment(wrong_date, "YYYY-MM-DD HH:mm:ss", true).isValid());
注意第三个布尔参数设置为true。
这是格式上的一个严格匹配。
答案 1 :(得分:1)
Moment的解析器非常宽容,这可能会导致意外行为。从版本2.3.0开始,您可以为最后一个参数指定一个布尔值,以使Moment使用严格的解析。严格的解析要求格式和输入完全匹配,包括分隔符。
document.write(moment(wrong_date, "YYYY-MM-DD HH:mm:ss").isValid()); //returns true
document.write(moment(wrong_date, "YYYY-MM-DD HH:mm:ss", true).isValid()); //returns false
您可以同时使用区域设置和严格性。
moment('2012-10-14', 'YYYY-MM-DD', 'fr', true);