我需要yyyy-mm-dd格式的表达式(比如日期格式),我使用正则表达式:^(19|20)\d\d[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])$
但它只包括日期到2099年,但它不是要求,如何将上限增加到更多?像3000-01-01,5000-01-01 ......等
答案 0 :(得分:1)
你需要这样的东西:
^\d{4}[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])$
我没有测试它......
答案 1 :(得分:0)
问题在于你在开始时看到的“19 | 20”。这就是说年份必须从19或20开始。你可以用(19|20)
代替\d\d
来概括,也就是说允许任何两位数。以下是:
^\d\d\d\d[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])$
这是否可接受完全取决于你,尽管你对这些事情越灵活,用户就越容易插入一个他们可能不想插入的值。
另外请记住,世界上还有其他日期格式。 :)