我想使用正则表达式来验证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]" />
我想使用正则表达式来验证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]" />
这是相当正确的,但你可以调整的东西,使他们更真实。
“[0-2]?[0-9]:[0-5][0-9]
”对于时间来说会更现实一些,因为没有32:79
,什么也没有。另外,第一个可以是可选的,以使8:00
可行。
[0-3]?[0-9]\/[0-1]?[0-9]\/[1-2][0-9][0-9][0-9]
日期,因为可能不会有四月四十二号等等。另外,可以将“/”转义为分隔符。
请注意,由于“四月三十九日”可能会导致这种情况仍然不完善,依此类推。您可以制作更长和更难的正则表达式来避免这种情况,但最好使用内置函数或为此制作自己的函数,以评估可变性的每个部分。
例如,二月将会有28天,第30天的日fer不是一个可行的日期,但是正则表达式并不是处理这些情况的最佳工具。
以匹配00:00
hh:mm
到23:59
你可以使用:
<f:validateRegex pattern="(?:2[0-3]|[01][0-9]):[0-5][0-9]" />