日期格式 yyyy-mm-dd 的正则表达式是什么?
我想验证电子邮件从编辑文本,并检查它是否匹配正则表达式。
您可以使用这个正则表达式获得 天哪格式:
((?:19|20)\\d\\d)-(0?[1-9]|1[012])-([12][0-9]|3[01]|0?[1-9])
您可以找到日期验证的示例: 如何使用正则表达式验证日期。
一个简单的问题就是
\d{4}-\d{2}-\d{2}
调试演示
但这并不限制每月1-12日及每日1-31日。
还有更复杂的检查,就像其他的答案一样,顺便说一句,很聪明的。尽管如此,你必须检查一个有效的日期,因为没有检查是否一个月有28天,30天或31天。
这将匹配 yyyy-mm-dd和 yyyy-m-d:
yyyy-mm-dd
yyyy-m-d
^\d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])$
如果你正在寻找与 yyyy-mm-dd完全匹配的,那么试试这个
^\d{4}\-(0[1-9]|1[012])\-(0[1-9]|[12][0-9]|3[01])$
如果需要在字符串(如 The date is 2017-11-30)中查找日期,可以使用这个函数
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
你可以测试这个表达式:
^\d{4}[\-\/\s]?((((0[13578])|(1[02]))[\-\/\s]?(([0-2][0-9])|(3[01])))|(((0[469])|(11))[\-\/\s]?(([0-2][0-9])|(30)))|(02[\-\/\s]?[0-2][0-9]))$
描述: 验证 yyy-mm-dd、 yyyy mm dd 或 yyy/mm/dd 日期
确保一天是在有效范围内的一个月-不验证2月29日在闰年,只有那个2月。可以有29天
匹配(测试) : 0001-12-31 | 9990930 | 2002/03/03