2012-07-23 49 views
0

我正在使用内置于我的设备中的日期选择器,它将以YYYY/MM/DD格式返回日期 ,并以HH:MM格式24小时返回时间。JavaScript日期验证RegEx OR JS?

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

什么是最好的验证方式,以便它符合格式YYYY/MM/DD/T/HH/MM 正则表达式?即使我必须在T中分割,JavaScript是否具有构建它的日期/时间验证,所以我在单独的变量中有日期和时间?

什么是最好的方法/算法来做到这一点,以及明智的表现?

如果我在数组像分裂我的varible ...

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

是否有验证这个最好的正则表达式或js函数?性能是关键。

感谢

+0

*“性能(原文如此)是关键。”*为什么? – 2012-07-23 11:13:23

+0

将在非常低端的设备上进行+ 30/40次 – LmC 2012-07-23 11:13:40

+0

不够公平。你写了*“整个返回的字符串是YYYY/MM/DDT/HH/MM T是分隔符。”*但是从你以后说什么,我猜它实际上是'YYYY/MM/DDTHH:MM'? – 2012-07-23 11:16:04

回答

1

我不会担心性能,你不会在紧张的循环中做这几十万次,大概。

A regex是一个很好的方法来做到这一点,并且会很容易编写;如果您创建一次正则表达式并重新使用它,它也应该表现得很好。

假设您的格式的例子是一个错字,你的意思YYYY/MM/DDTHH:MM,一个现代化的JavaScript引擎也应该使用字符串作为参数传递给new Date(...)只要你改变/-(你可以很容易地通过String#replace办)的支持。这是因为它符合定义为ES5一部分的pared-down ISO-8601 format。但是旧的引擎(例如IE8和更早版本)可能不支持它,你必须在你打算支持的浏览器上进行测试。但如果真的是YYYY/MM/DDT/HH/MM,请忽略此段落。