正则表达式仅适用于两位数月份和两位数日期

sha*_*nyc 4 regex date

我一直在寻找高和低的正则表达式将验证MM/DD .我不需要一年(我们要求财政年度结束,所以我们不需要一年,我们需要知道他们的财政年度的范围).

例如,我需要他们能够分别在6月30日或12月31日进入06/30或12/31.我能找到的所有正则表达式示例都包括作为日期的一部分的年份,我不需要这些,我对正则表达式语法非常不熟悉.我可以使用什么正则表达式只为两个月的月份和日期?

Ed *_*eal 9

所有月份(即28天):

(0[1-9]|1[0-2])/([01][1-9]|10|2[0-8])
Run Code Online (Sandbox Code Playgroud)

除2月之外的所有月份:

(0[13-9]|1[0-2])/(29|30)
Run Code Online (Sandbox Code Playgroud)

持续31天的月份(即01,03,05,07,08,10和12)

(0[13578]|1[0-2])/31
Run Code Online (Sandbox Code Playgroud)

把它放在一起

((0[1-9]|1[0-2])/([01][1-9]|10|2[0-8]))|((0[13-9]|1[0-2])/(29|30))|((0[13578]|1[0-2])/31)
Run Code Online (Sandbox Code Playgroud)

然后对于闰年,将以下内容添加到正则表达式中

|02/29
Run Code Online (Sandbox Code Playgroud)

  • 您允许 11/31 这不是有效日期 (2认同)