PrimeFaces具有多个可选字符的自定义输入掩码

PrimeFaces具有多个可选字符的自定义输入掩码,primefaces,Primefaces,所以我的输入遵循以下格式和约束:'CC-nnnnn'(C:字母,N:数字)第二个字母是可选的,除了第一个数字之外,其他都是可选的。这里有一些例子可以帮助您澄清问题: B-1231 | | BJ-32 | | W-1234567 在对进行一些研究之后,我能找到的唯一可选字符是?,它将其后面的所有字符标记为可选字符,如果我使用此掩码,并且键入“B-1234”,则会导致为空。因此,据我所知,它接受完整输入或不带可选字符的输入。 所以我的问题是,有没有办法用做到这一点?如果没有,您建议使用什么方法?您可



所以我的输入遵循以下格式和约束:'CC-nnnnn'(C:字母,N:数字)第二个字母是可选的,除了第一个数字之外,其他都是可选的。这里有一些例子可以帮助您澄清问题:
B-1231 | | BJ-32 | | W-1234567
在对
进行一些研究之后,我能找到的唯一可选字符是
,它将其后面的所有字符标记为可选字符,如果我使用此掩码
,并且键入“B-1234”,则会导致
为空。因此,据我所知,它接受完整输入或不带可选字符的输入。


所以我的问题是,有没有办法用
做到这一点?如果没有,您建议使用什么方法?

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

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

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