我正在使用内置于我的设备的日期选择器,它以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函数可以验证这一点?绩效是关键。
由于
答案 0 :(得分:1)
我不会担心性能,你可能不会在一个紧凑的循环中这样做数十万次。大概是。
regex是一种很好的方法,很容易写;如果你创建一次正则表达式并重复使用它,它也应该表现良好。
假设您的格式示例是拼写错误而您的意思是YYYY/MM/DDTHH:MM
,那么现代JavaScript引擎也应支持将该字符串用作new Date(...)
的参数,前提是您将/
更改为-
(您可以通过String#replace
轻松完成)。那是因为它符合ES5定义的pared-down ISO-8601 format。但是较旧的引擎(例如IE8及更早版本)可能不支持它,您必须在您打算支持的浏览器上进行测试。但如果真的是YYYY/MM/DDT/HH/MM
,请忽略这一段。