我从 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