1

我从 primefaces 扩展中遇到了关于 keyfilter 的问题。我想为一个时间段定义一个正则表达式,例如“P1Y3M2W1d”。使用以下键过滤器的正则表达式:

<pe:keyFilter regEx="/P[0-9]*Y*[0-9]*M*[0-9]*W*[0-9]*d*/" />

目标是用户只能先输入P,然后输入数字 0-9,然后是 Y(年)、M(月)或 W(周)等等。问题是我只能输入大写字母 P 而不能输入其他内容。我检查正则表达式。它是正确的。keyFilter 中的正则表达式有什么问题?感谢帮助!!!

更新:

<p:inputText value="#{cc.attrs.value}" id="period" >
   <pe:keyFilter regEx="/P([0-9]+Y)?([0-9]+M)?([0-9]+W)?([0-9]+d)?/" />
</p:inputText>

我认为 primefaces 扩展使用 jquery keyfilter 插件。正则表达式应该在“//”周围引用,但不知何故,我的 UI 中唯一的可能性是大写 P

4

1 回答 1

0

尝试

regEx="/P([0-9]+Y)?([0-9]+M)?([0-9]+W)?([0-9]+d)?/"
于 2013-02-12T15:48:31.990 回答