说明:工作过程中遇到日期手动输入的需求,想到通过正则来验证日期的格式是否正确。
代码
const reg = /^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$/
const str1 = '2022-01-01'
const str2 = '2022-1-1'
const str3 = '2022-01-32'
reg.test(str1) // true
reg.test(str2) // false
reg.test(str3) // false