所以我需要一些正则表达式来验证表单中的输入。 我相信你现在可以将正则表达式直接放到HTML中吗? (我该怎么做?)
我发现了这一点,但我不确定这是否是我想要的?
"(((\\d\\d)(0[48]|[2468][048]|[13579][26])|([02468][048]|[13579][26])(00))(02)([012]\\d))|(\\d\\d([02468][1235679]|[13579][01345789])(02)([01]\\d|2[012345678]))|(\\d\\d\\d\\d((0[13578]|1[02])([012]\\d|3[01])|((0[46]|11)([012]\\d|30))))"
所以,第一位:
4位数,小于x(2017)(需要轻易更改?)
第二位:
2位数,介于01和12之间
第三位:
2位数,介于01和31之间(我不关心每月的变化)
答案 0 :(得分:3)
我相信应该这样做:
(201[0-7]|200[0-9]|[0-1][0-9]{3})(1[0-2]|0[1-9])(3[01]|[0-2][1-9]|[12]0)
以下是github_issue的示例。
(201[0-7]|200[0-9]|[0-1][0-9]{3})
匹配:
(201[0-7]|200[0-9]|1[0-9]{3})
。 注意:如果您希望在2020年之前匹配某些内容,则可以将此细分更改为(202[0-7]|20[01][0-9]|[0-1][0-9]{3})
,允许从0000 ...2027
下一部分(1[0-2]|0[1-9])
匹配:
最后一个(3[01]|[0-2][1-9]|[12]0)
匹配:
答案 1 :(得分:0)
我觉得Dencker的答案中存在一个小问题,以适应当月10日和20日。
(201[0-7]|200[0-9]|[0-1][0-9]{3})(1[0-2]|0[1-9])(3[01]|[0-2][1-9]|[12][0])
**无法评论Dencker的帖子(需要50点评分才能发表评论)