2010-06-28 11 views
1

jsf 유효성 검사기를 사용하여 (,/'#[email protected][]}{+_)(*&^%$£"!\|<>) 과 같은 특수 문자에 대한 유효성 검사를 적용하고 싶습니다. 숫자에 대한 유효성 검사기를 구현했지만 이제 특수 문자에 대한 유효성 검사기를 만들고 싶습니다.JSF : 특수 문자 유효성 검사

value.toString().trim().matches(); 

자바 클래스의 matches() 메소드 내부의 정규 표현식은 무엇입니까?

나는 지정된 문자를 제외한 모든 필드를 허용하려고합니다. 사전에

감사

답변

3

왜 당신은 그냥 영숫자 문자 허용하지 않습니다?

if (!value.toString().trim().matches("\\p{Alnum}*")) { 
    throw new ValidatorException(new FacesMessage("Invalid characters!")); 
} 

정말로이 방향으로 나아가고 싶다면. 문자열이 그 문자가 포함되어 있는지 확인하려면 다음을 사용 :

if (value.toString().trim().matches(".*[,/'#[email protected]\\x5B\\x5D}{+_)(*&^%$£\"!\\|<>]+.*")) { 
    throw new ValidatorException(new FacesMessage("Invalid characters!")); 
} 

은 명심 아마도 거부하고 싶은 당신을 캐릭터 세트 유니 코드에서 사용할 수있는 더 많은 문자가있다.

+0

안녕하세요, Balus thanx 4 답변 ...하지만 목록 문자 만 제한하고 싶습니다. 다른 모든 문자는 허용됩니다 ... (예 : "."및 공백 등) –

+2

어때요? 다른 유니 코드 문자들 [유니 코드] (http://www.fileformat.info/info/unicode/block/index.htm)? 오히려 ** allowed ** chars에 일치하는 것을 좋아할 것이고, * disallowed * chars에는 일치하지 않을 것입니다. – BalusC

+0

너는 맞아 ...하지만 그게 내 문제를 해결하지 못한다 ... –