日期和小时的正则表达式模式

时间:2015-06-21 18:05:28

标签: regex date time

我想使用正则表达式来验证JSF中的文本字段。有人能告诉我小时(hh:mm)和日期(dd / mm / yyyy)的模式。我尝试了以下模式,但不知道任何事情。

<f:validateRegex pattern="[0-9][0-9]:[0-9][0-9]" />
<f:validateRegex pattern="[0-9][0-9]/[0-9][0-9]/[0-9][0-9][0-9][0-9]" />

2 个答案:

答案 0 :(得分:2)

要匹配hh:mm00:00的{​​{1}},您可以使用:

23:59

答案 1 :(得分:1)

这是相当正确的,但你可以调整一些东西以使它们更加真实。

&#34; [0-2]?[0-9]:[0-5][0-9]&#34;因为没有32:79而没有8:00,所以时间会更加真实。此外,第一个可以选择使[0-3]?[0-9]\/[0-1]?[0-9]\/[1-2][0-9][0-9][0-9]可行。

\0约会,因为4月42日不可能,依此类推。另外,转义&#34; /&#34;,可以将其视为分隔符。

请注意,这仍然是不完美的,因为&#34; 39四月&#34;可持续等等。你可以制作更长,更难的regex来避免这种情况,但最好使用内置函数或自己编写函数来评估valiable的每个部分。

例如,2月将有28天,30日的费用不是一个可行的日期,但正则表达不是处理这些情况的最佳工具。