Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript日期时间格式验证正则表达式[dd-mm-yyy-hh:mm]_Javascript_Regex - Fatal编程技术网

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

Javascript日期时间格式验证正则表达式[dd-mm-yyy-hh:mm],javascript,regex,Javascript,Regex,我正在尝试以dd-mm-yyy-hh:mm格式创建用于日期时间验证的正则表达式 我试过的 但它不起作用。我得到了无效的格式。正如其他人所说,正则表达式是检查您是否有有效日期的糟糕方法 如果您确实需要正则表达式,这适合您的格式: (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] 它将拒绝大多数无效的日期和时间。。。但它将接受2013年2月29日这样的日期 无论使用

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

我试过的
但它不起作用。我得到了无效的格式。

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

如果您确实需要正则表达式,这适合您的格式:

(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]
它将拒绝大多数无效的日期和时间。。。但它将接受2013年2月29日这样的日期

无论使用哪种语言,最好尝试使用输入字符串创建日期。如果输入字符串失败,则没有有效的日期


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

我建议使用momente.js,因为它还可以表示日期是否有效:例如,不是闰年。另外,还有其他人编写并测试了解析器..抱歉,在原始文章中没有帮助,但是请看一看。将使您的JS日期问题消失。请确保不要使用Momentjs 2.12.0版的.isValid函数-它在验证DD/MM/YYYY HH:MM格式时存在错误
(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]