-4

带空格的前 10 位数字工作正常,但我的日期正则表达式失败。

^(\d{6}\s{2}|\d{8})\/(\d{1}\s|\d{2})\s\/(?:(?:31(\/|-|\.)(?:0?[13578]|1[02]))\1|(?:(?:29|30)(\/|-|\.)(?:0?[1,3-9]|1[0-2])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/|-|\.)0?2\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(\/|-|\.)(?:(?:0?[1-9])|(?:1[0-2]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$
4

1 回答 1

0

有一个解决方案但是 2 月必须是 28/29 天,除此之外所有其他人都在工作,请查看模式

^([0-9]{6}|[0-9]{8})([\s]{2}|[\s]{0})[/]{1}[0-9]{2 }[\s]{1}(0[0-9]|[0-2]|1[0-2])[/]{1}([0-9]|[0-2][0- 9]|3[0-1])[/]{1}[0-9]{4}$

于 2017-11-09T11:07:10.893 回答