【发布时间】:2016-09-27 07:06:38
【问题描述】:
我已经阅读了很多网站进行日期检查。但是,其中一些是无用的,因为我想将日期格式设置为dd/MM/yyyy。
var result = new Date(input);
if (result == 'Invalid Date') {
return false;
对于上面的代码,
- 如果我输入 '60/09/02016' 仍然有效。
- 它返回 MM/dd/yyyy
【问题讨论】:
-
我试过 new Date(''60/09/02016'') 也无效
-
你可以简单地使用moment.js。它将允许您以任何您想要的格式检查有效日期
-
您需要在 if 条件下调用 result.toString() 。如果日期无效,它将返回“无效日期”
-
@user3273700 如果我输入 Date(''60/09/02016''),它会返回“2020-12-05T16:00:00.000Z”
-
@ADyson——当然,通用解析器需要更多的工作(也是一个很好的练习)。有很多小型库可以很好地解析,所以重新发明那个轮子没有意义。但对于单一格式,这很容易。在现代浏览器中,可以使用
new Date(s.split(/\D/).reverse().join('-')) != 'Invalid Date'验证 OP 格式。但我不建议实际这样做(因为它依赖于不可靠的解析,并且可能会混淆 Date 对象到字符串原语的隐式转换)。 ;-)
标签: javascript date