正则表达式未在 YYYY-MM-DD 字符串中验证 11 月

Regex not validating November in a YYYY-MM-DD string

本文关键字:验证 字符串 YYYY-MM-DD 正则表达式      更新时间:2023-09-26

我正在使用这个正则表达式:

/^((('d{4})(-)(0[13578]|10|12)(-)(0[1-9]|[12][0-9]|3[01]))|(('d{4})(-)(0[469]|1‌​1)(-)([0][1-9]|[12][0-9]|30))|(('d{4})(-)(02)(-)(0[1-9]|1[0-9]|2[0-8]))|(([02468]‌​[048]00)(-)(02)(-)(29))|(([13579][26]00)(-)(02)(-)(29))|(([0-9][0-9][0][48])(-)(0‌​2)(-)(29))|(([0-9][0-9][2468][048])(-)(02)(-)(29))|(([0-9][0-9][13579][26])(-)(02‌​)(-)(29)))$/

要验证 HTML 输入类型日期(格式:YYYY-MM-DD)中的日期及其各自的月份最后一天,这里的要点是它与 11 月(第 11 个月)不匹配。为什么会这样?

更正的正则表达式:

/^((('d{4})(-)(0[13578]|10|12)(-)(0[1-9]|[12][0-9]|3[01]))|(('d{4})(-)(0[469]|11)(-)([0][1-9]|[12][0-9]|30))|(('d{4})(-)(02)(-)(0[1-9]|1[0-9]|2[0-8]))|(([02468][048]00)(-)(02)(-)(29))|(([13579][26]00)(-)(02)(-)(29))|(([0-9][0-9][0][48])(-)(02)(-)(29))|(([0-9][0-9][2468][048])(-)(02)(-)(29))|(([0-9][0-9][13579][26])(-)(02)(-)(29)))$/