日期格式为2015/04/25 我正在努力
^\d{4}\/\d{2}\/\d{2}$
它工作正常,但我想验证月份应小于 12,日期应小于 31
我试过这个
^\d{4}\/(\d{2}\<[12])\/\d{2}$
但是它不起作用。
PS:我对正则表达式非常菜鸟。
最佳答案
您可以使用
^\d{4}\/(0\d|1[0-2])\/([0-2]\d|3[01])$
说明:
\d{4}
任意四位数字(0\d|1[0-2])
0(任意数字)或 1(0 到 2),即00 到 09
或10 -12
([0-2]\d|3[01])
(0 到 2)(任意数字)或 3(0 或 1),即00 到 29
或30 或 31
编辑1:如果您只想匹配 01-12
中的月份和 01-31
中的仅匹配天(没有 00
)您可以使用:
^\d{4}\/(0[1-9]|1[0-2])\/(0[1-9]|[12]\d|3[01])$
Edit2:如果您想严格验证日期,请使用explode
和checkdate
..按照@Wayne的建议..因为它还包括闰年验证。
参见Demo
关于javascript - 使用正则表达式验证日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29864231/