我目前使用以下正則表達式從http://regexlib.com使用模式YYYY-MM-DD驗證傳入日期。但是,前導零是強制性的,我希望它是可選的。日期驗證正則表達式 - 使前導零可選
((((1[26]|2[048])00)|[12]\d([2468][048]|[13579][26]|0[48]))-((((0[13578]|1[02])-(0[1-9]|[12]\d|3[01]))|((0[469]|11)-(0[1-9]|[12]\d|30)))|(02-(0[1-9]|[12]\d))))|((([12]\d([02468][1235679]|[13579][01345789]))|((1[1345789]|2[1235679])00))-((((0[13578]|1[02])-(0[1-9]|[12]\d|3[01]))|((0[469]|11)-(0[1-9]|[12]\d|30)))|(02-(0[1-9]|1\d|2[0-8]))))
2000-01-01
2000-1-1
2000-01-1
2000-1-01
都是有效的。但截至目前,只有第一個測試案例被接受。
你能幫忙嗎?
只需使用一個簡單的regex - '\ d {4} - \ d {1,2} - \ d {1,2}' – Philipp
不要在使用正則表達式所有,請參閱[*如何驗證日期?*](http://stackoverflow.com/questions/5812220/how-to-validate-a-date/5812341#5812341)。 – RobG