我遇到了關於primefaces擴展中的keyfilter的問題。 我想定義一個時間段的正則表達式,例如「P1Y3M2W1d」。 的鍵過濾器下面的正則表達式使用:primefaces keyfilter正則表達式
<pe:keyFilter regEx="/P[0-9]*Y*[0-9]*M*[0-9]*W*[0-9]*d*/" />
的目標是,用戶可能只鍵入P第一則位數0-9,事後Y(年),M(月)或W(周)等等。問題是我只能輸入captial 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中唯一的可能性是captial P
了'P'後什麼是可以接受的?是否需要提供其他部分(Y,M,W,d)還是可選的?您當前的正則表達式肯定會接受輸入字符串「P」,因爲您在所有其他部分使用了「*」量詞。 – eldarerathis 2013-02-12 15:20:54
P之後可以接受的數字如0-9。其他部分(Y,M,W,d)是可選的,但您至少需要輸入一個字符,例如P3Y或P3M。 – user1063808 2013-02-12 15:45:48