Javascript日期时间格式验证正则表达式[dd-mm-yyy-hh:mm]
我正在尝试以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日这样的日期 无论使用
但它不起作用。我得到了无效的格式。正如其他人所说,正则表达式是检查您是否有有效日期的糟糕方法 如果您确实需要正则表达式,这适合您的格式:
(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]