JavaScript日期验证RegEx或JS?

时间:2012-07-23 11:07:19

标签: javascript regex validation date time

我正在使用内置于我的设备的日期选择器,它以YYYY / MM / DD格式返回日期 并以格式HH:MM返回时间24小时。

整体返回的字符串是YYYY / MM / DDT / HH / MM T是分隔符。

验证这一点的最佳方法是什么,使其符合格式YYYY / MM / DD / T / HH / MM 正则表达式? JavaScript是否对日期/时间进行了验证,即使我必须在T处拆分,所以我在单独的变量中有日期和时间?

这样做的最佳方式/算法是什么,以及明智的表现?

如果我把我的变量分成数组......

[ “YYYY / MM / DD”, “HH:MM”]

是否有正确的regex或js函数可以验证这一点?绩效是关键。

由于

1 个答案:

答案 0 :(得分:1)

我不会担心性能,你可能不会在一个紧凑的循环中这样做数十万次。大概是。

regex是一种很好的方法,很容易写;如果你创建一次正则表达式并重复使用它,它也应该表现良好。

假设您的格式示例是拼写错误而您的意思是YYYY/MM/DDTHH:MM,那么现代JavaScript引擎也应支持将该字符串用作new Date(...)的参数,前提是您将/更改为-(您可以通过String#replace轻松完成)。那是因为它符合ES5定义的pared-down ISO-8601 format。但是较旧的引擎(例如IE8及更早版本)可能不支持它,您必须在您打算支持的浏览器上进行测试。但如果真的是YYYY/MM/DDT/HH/MM,请忽略这一段。