日期格式yyyy-mm-dd的正则表达式是什么?
我想验证来自edittext的电子邮件,并检查它是否与正则表达式匹配。
答案 0 :(得分:72)
这将匹配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
\d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])*
答案 1 :(得分:16)
一个简单的就是
\d{4}-\d{2}-\d{2}
但这不会将月份限制为1-12,将日期限制为1到31。
其他答案中有更复杂的检查,顺便说一下非常聪明。然而,您必须检查有效日期,因为没有检查是否有一个月有28天,30天或31天。
答案 2 :(得分:4)
您可以使用此正则表达式获取yyyy-MM-dd格式: ?(?(:19 | 20)\ d \ d) - (0 [1-9] | 1 [012]) - ([12] [0-9] | 3 [01] | 0 [1-9 ])
您可以找到日期验证的示例:How to validate date with regular expression.
答案 3 :(得分:3)
你可以测试这个表达式:
^\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]))$
描述:
验证yyyy-mm-dd,yyyy mm dd或yyyy / mm / dd日期
确保一天在该月的有效范围内 - 不在2月29日的闰年验证,仅在2月份验证可以有29天
匹配(测试):0001-12-31 | 9999 09 30 | 2002年3月3日