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

위의 정규 표현식은 적어도 하나의 숫자, 한 글자 및 한 개의 특수 기호 ("@ # $ %")가 있어야합니다.primefaces의 정규식 유효성 검사기

입력이 올바른 패턴이 아니며 입력이 올바른 패턴 일 때에도 오류가 표시되면 오류 메시지가 표시됩니다.

답변

0

대신 다음 정규식 패턴보십시오 : 모든

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

먼저 당신이 대문자에 대한 부분을 놓친 한 다음 마지막에 +을 놓친, 그래서 당신은 하나 개의 문자가있는 경우에만 확인할 것을 이 캐릭터가 지정된 형태의 경우

+0

수정 된 부분을 참조하십시오 "(? =. *? \ d) (? =. *? [az]) (? =. *? [@ # $ %]) +"이 정규식은 작동하지 않습니다. 뿐만 아니라 – Pramoth

+0

무엇 excatly 작동하지 않습니다? – user1983983

+0

편집 한 부분을보십시오. "(? =. *? \ d) (? =. *? [az]) (? =. *? [@ # $ %]) +"이 정규식은 잘 작동하지 않습니다. . 어떤 문자 유형 (대문자 또는 소문자)이 될 수 있습니다. 위의 정규식은 적어도 하나의 숫자, 하나의 작은 알파벳 및 특수 문자를 가져야합니다. "admin @ 1"을 입력 할 때 오류가 발생합니다. "regex not matched"가 나타납니다. – Pramoth