0
 <p:inputText id="username" value="#{personBean.username}" required="true" label="username">  
                <f:validateRegex pattern="((?=.*\d)(?=.*[a-z])(?=.*[@#$%]))" />
 </p:inputText>  

上記の正規表現パターンには、少なくとも 1 つの数字、1 つの文字、および 1 つの特殊記号 (「@#$%」) が必要です。

入力が正しいパターンでない場合はエラーメッセージが表示され、正しいパターンで入力されている場合でもエラーが表示されます。

4

1 に答える 1

0

代わりに、次の正規表現パターンを試してください。

(?=.*?\d)(?=.*?[A-z])(?=.*?[@#$%])+

まず最初に大文字の部分が抜けてい+て、最後に が抜けているため、文字が 1 つあり、この文字が指定されたタイプのいずれかである場合にのみ検証されます。

于 2013-07-30T11:14:50.510 に答える