<p:inputText id="username" value="#{personBean.username}" required="true" label="username">
<f:validateRegex pattern="((?=.*\d)(?=.*[a-z])(?=.*[@#$%]))" />
</p:inputText>
上述正则表达式模式至少需要一个数字,一个字母和一个特殊符号(“@#$%”)。
当输入的图案不正确时显示错误信息,即使输入的图案正确,也会显示错误。
答案 0 :(得分:0)
请尝试使用以下正则表达式:
(?=.*?\d)(?=.*?[A-z])(?=.*?[@#$%])+
首先,你错过了一个大写字符的部分,然后你错过了最后的+
,所以它只会验证你是否有一个字符,如果这个字符属于指定类型之一。