안드로이드 특수문자 체크로직은 아래와 같습니다.

private static void 특수문자_테스트() {
// TODO Auto-generated method stub
String str = "ttt";
if(str!=null && str.matches("[0-9|a-z|A-Z|-|-|-| ]*")) {
System.out.println("특수 문자가 없습니다.");
}else {
System.out.println("특수문자가 있습니다.");
}
}

만약 특정 특수문자도 허용하고 싶을경우 아래와 같이 할 수 있습니다.

필자의 경우 앱을 만들때 아래와 같이 체크로직을 만들었다.

private static void 문자열_체크() {
// TODO Auto-generated method stub
String str = "ttt";
if(str!=null && str.matches("[0-9|a-z|A-Z|-|-|-|@\\-\\_\\.\\;\\·\u318D\u119E\u11A2\u2022\u2025a\u00B7\uFE55]*")) {
System.out.println("허용되는 문자열입니다.");
}else {
System.out.println("허용되지 않은 문자열 입니다.");
}
}

유니코드(\u318D\u119E) 를 쓴 이유는 한글의 경우 천지인 키보드의 아래아 ‘·(middle dot)’ 를 이용하기 때문에, 이를 허용하여야 하는데 위의 UniCode 들은 여러 제조사(삼성, LG, 팬택 등)의 단말기들에서 아래아 ‘·(middle dot)’ 표현하는 값이다. 




728x90
반응형

'Java' 카테고리의 다른 글

자바 랜덤  (0) 2017.05.23
java 정렬  (0) 2017.05.23
java 파일용량 계산  (0) 2017.05.23
액티비티 할당된 메모리 즉시 반환하기  (0) 2016.01.12
Java Null Check 코드  (0) 2015.06.29

+ Recent posts