안드로이드 특수문자 체크로직은 아래와 같습니다.
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 |