Javascript日期时间格式验证正则表达式[dd-mm-yyyy hh:mm]

时间:2014-06-02 07:34:15

标签: javascript regex

我正在尝试以dd-mm-yyyy hh:mm格式创建日期时间验证的正则表达式。

我尝试了什么

/^(([0-2]?[0-9]|3[0-1])[\/\-\.]([0]?[1-9]|1[0-2])[\/\-\.][1-2]\d{3}) (20|21|22|23|[0-1]?\d{1}):([0-5]?\d{1})$/

但它不起作用。我的格式无效。

1 个答案:

答案 0 :(得分:0)

正如其他人所说,正则表达式是一种检查你有效日期的糟糕方法。

如果你想要一个正则表达式,这符合你的格式:

(0[1-9]|[12][0-9]|3[01])[-](0[1-9]|1[012])[-](19|20)[0-9]{2} (2[0-3]|[0-1][0-9]):[0-5][0-9]

它会拒绝大多数无效的日期和时间......但它会接受日期,例如29-02-2013。

无论使用何种语言,最好不要尝试使用输入字符串创建日期 - 如果失败,则表示您没有有效日期。

顺便说一下,[-]中的括号不是必需的,但是对于这样的正则表达式,将连字符放在char类中以防以后想要添加其他分隔符并不是一个坏主意。你最初的正则表达式表明你可能想要这样做。