日期时间格式正则表达式YYYY / MM / DD hh:mm:ss

时间:2012-12-03 11:11:40

标签: javascript regex datetime

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

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

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

如何添加此功能来测试是否存在时间?

2 个答案:

答案 0 :(得分:5)

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

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

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

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

答案 1 :(得分: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