我正在尝试编写一个验证日期的正则表达式.正则表达式需要匹配以下内容
到目前为止我有
^(([1-9]|1[012])[-/.]([1-9]|[12][0-9]|3[01])[-/.](19|20)\d\d)|((1[012]|0[1-9])(3[01]|2\d|1\d|0[1-9])(19|20)\d\d)|((1[012]|0[1-9])[-/.](3[01]|2\d|1\d|0[1-9])[-/.](19|20)\d\d)$
Run Code Online (Sandbox Code Playgroud)
这恰当匹配除了它还包括2/30/2008和2/31/2008.
有人有更好的建议吗?
编辑:我在RegExLib上找到了答案
^((((0[13578])|([13578])|(1[02]))[\/](([1-9])|([0-2][0-9])|(3[01])))|(((0[469])|([469])|(11))[\/](([1-9])|([0-2][0-9])|(30)))|((2|02)[\/](([1-9])|([0-2][0-9]))))[\/]\d{4}$|^\d{4}$
Run Code Online (Sandbox Code Playgroud)
它匹配遵循MM/DD/YYYY格式的所有有效月份.
谢谢大家的帮助.
我正在尝试验证输入到文本框中的日期.文本框上有一个输入掩码,强制输入xx/xx/xxxx.我正在尝试使用正则表达式验证程序来强制输入正确的日期.我根本不熟悉RegEx.我的同事在互联网上找到了这个,但我无法真正说出它在做什么.
这看起来不错吗?似乎过于复杂......
(^((((0[1-9])|([1-2][0-9])|(3[0-1]))|([1-9]))\x2F(((0[1-9])|(1[0-2]))|([1-9]))\x2F(([0-9]{2})|(((19)|([2]([0]{1})))([0-9]{2}))))$)
Run Code Online (Sandbox Code Playgroud)
有没有人知道一个不太复杂的表达,基本上做我需要的东西?