y-mm-dd 的正则表达式日期验证

2022-08-31 13:43:38

日期格式yy-mm-dd的正则表达式是什么?

我想验证来自编辑文本的电子邮件,并检查它是否与正则表达式匹配。


答案 1

这将匹配并且:yyyy-mm-ddyyyy-m-d

^\d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])$

Regular expression visualization

如果你正在寻找一个完全匹配,那么试试这个yyyy-mm-dd

^\d{4}\-(0[1-9]|1[012])\-(0[1-9]|[12][0-9]|3[01])$

或者如果你需要在字符串内找到一个日期,请使用这个,比如The date is 2017-11-30

\d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])*

https://regex101.com/r/acvpss/1


答案 2

一个简单的方法是

\d{4}-\d{2}-\d{2}

Regular expression visualization

调试演示

但这并没有将月份限制为1-12,将天数限制在1到31之间。

有更复杂的检查,就像其他答案一样,顺便说一句,非常聪明的检查。但是,您必须检查有效日期,因为如果一个月有28天,30天或31天,则不会检查。