首页 > 解决方案 > 如何使用正则表达式在 Javascript 中验证日期?

问题描述

我需要制作 JavaScript 函数来验证用户在输入字段中输入的日期。有效的日期格式必须是 yyyyMMdd。如何编写正则表达式代码来验证此输入日期格式?此日期格式有效:2019/12/01 和 2019-12-01。不允许所有其他格式。

标签: javascriptregex

解决方案


这是一个有趣的话题......它从简单的解决方案开始:

\d{4}(-|\/)\d{2}\1\d{2}

在这个解决方案中,我们有 4 个数字,比 - 或 /,比 2 个数字,比之前使用的分隔符(- 或 /)多 2 个数字......这是比

\d{4}[-\/]\d{2}[-\/]\d{2}

因为在第二个 2019-12/01 将通过验证,在第一个将不会通过...

但是,当您就该主题进行更多集思广益时……您可能希望验证比这更聪明,因此下一步将是

[12]\d{3}(-|\/)\d{2}\1\d{2}

在这种方式下,年份必须从 1 或 2 开始......比天空是你将包括的极限......

抱歉写了太多,但验证总是很有趣的话题


推荐阅读