PrimeFaces自定义inputMask包含多个可选字符

时间:2017-04-17 16:07:25

标签: primefaces



所以我有这个输入遵循以下格式和约束:'CC-NNNNNNN'(C:字母,N:数字)第二个字母是可选的,除了第一个数字之外的所有字母都是可选的。以下是一些帮助您澄清事情的例子:
B-1231 || BJ-32 || W-1234567
经过对<p:inputmask>的一些研究后,我能找到的唯一字符是?,它将所有字符标记为可选字符,如果我使用此掩码,还有另一个问题{{1}我键入“B-1234”,结果为<p:inputMask value="#{antecedentView.cin}" mask="a?a-9999999" />。所以根据我的理解,它接受完整输入或没有可选字符的输入。

所以我的问题是有没有办法用null做到这一点?如果不是你建议采用什么方法?

1 个答案:

答案 0 :(得分:0)

您可以使用p:inputText p:keyfilter和常规表达

<p:inputText>
    <p:keyFilter regEx="/[a-z]{1,2}-\d{1,}/"/>
</p:inputText> 

该输入将接受任何以1或2个字母开头,后跟短划线后跟一个或多个数字的字符串