0

有人可以写一个正则表达式来测试这种日期格式2012/11/14 14:28:12吗?

我已经有了日期部分的正则表达式:

/^\d{4}\/\d{2}\/\d{2}$/

我怎样才能添加到这个来测试时间的存在?

4

2 回答 2

5

我会改用Date构造函数来测试该格式的日期:

var isValid = !!new Date('2012/11/14 14:28:12').getTime();

演示:http: //jsfiddle.net/rwCeA/

适用于我所有的测试浏览器(safari/chrome/firefox/ie7+)。Date 构造函数采用许多日期变体,但您可以将其与正则表达式组合以强制使用某种格式。

于 2012-12-03T11:21:41.383 回答
4

我最近写的这个小提琴http://jsfiddle.net/jstoolsmith/Db3JM/是一段比较复杂的代码,相关的正则表达式是:

/(?:(\d{4})([\-\/.])([0-3]?\d)\2([0-3]?\d)|([0-3]?\d)([\-\/.])([0-3]?\d)\6(\d{4}))(?:\s+([012]?\d)([:hap])([0-5]\d))?/i
于 2012-12-03T11:18:11.307 回答