我有这个问题...我还没有发现任何类似的东西,而且似乎没人感到这个问题可以用moment.js验证时间,这也很奇怪。
moment('03:55', 'HH:mm').isValid(); //true
moment('03:55jojojo', 'HH:mm').isValid(); //true
moment('03:55jojojo', 'HH:mm',true).isValid(); //true
难道我做错了什么?这是一个例子:
我有这个问题...我还没有发现任何类似的东西,而且似乎没人感到这个问题可以用moment.js验证时间,这也很奇怪。
moment('03:55', 'HH:mm').isValid(); //true
moment('03:55jojojo', 'HH:mm').isValid(); //true
moment('03:55jojojo', 'HH:mm',true).isValid(); //true
难道我做错了什么?这是一个例子:
Answers:
在您的问题中,您写的moment('03:55jojojo', 'HH:mm',true).isValid();
返回true。这是不正确的。请再次检查您的jsfiddle。
Moment的解析器非常宽容,这可能会导致不良行为。从版本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-10-14', 'YYYY-MM-DD', 'fr', true);
moment('03:55jojojo', 'HH:mm',true).isValid();
返回true。请在浏览器中运行该确切的代码-输出为false。