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



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

/^(((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)))$/

最新更新