如何仅使用PrimeFaces inputMask元素将输入限制为可变数量的数字

Sim*_*eon 11 jsf primefaces

我需要定义类似于这个正则表达式的东西:

[0-9]{1, 5}
Run Code Online (Sandbox Code Playgroud)

在PrimeFaces <inputMask>元素上:

<p:inputMask mask="regexGoesHere" value="#{someBean.val}"/>
Run Code Online (Sandbox Code Playgroud)

我看了PrimeFaces展示,但我无法弄清楚如何做到这一点.

除了JavaScript之外,有没有人知道如何以任何方式做到这一点?

我并不是在寻找一个解决方案,<inputMask>任何限制我在客户端输入字母输入信件都可以.

谢谢

Nub*_*per 28

如果你想要或者也需要限制长度,你可以这样做:

<p:inputMask 
   mask="9?9999"
   maxlength="5"
   slotChar=" "
   value="#{someBean.val}" />
Run Code Online (Sandbox Code Playgroud)

用户只能输入1到5位数字,或者输入以下四位数字,依此类推

<p:inputMask 
   mask="9?999"
   maxlength="4"
   slotChar=" "
   value="#{someBean.val}" />
Run Code Online (Sandbox Code Playgroud)

在PrimeFaces 5.1之前:使用placeHolder而不是slotChar(问题7324).

  • +1太棒了!你是如何/在哪里找到这些信息的? (2认同)

Dan*_*iel 6

以下Masked Input Plugin是Primefaces正在使用的原始jquery插件,你可以找到更多关于它的用法的信息,在这个PDF PrimeFaces中还有几个p:input-mask代码示例:更多输入元素请看第24页