在primefaces中验证文本(输入文本类似于日期)

时间:2013-12-20 09:04:21

标签: regex validation text

我需要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 ......等

2 个答案:

答案 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])$

这是否可接受完全取决于你,尽管你对这些事情越灵活,用户就越容易插入一个他们可能不想插入的值。

另外请记住,世界上还有其他日期格式。 :)