String str = "abAB12!@#~`!@#$%^&*()_+=-|][}{;:" boolean chk = Pattern.matches("^[a-zA-Z0-9!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?~`]+$", str); Log.i("###", chk ? "통과" : "실패");
도움 받은 곳:
http://www.androidpub.com/1846129
http://stackoverflow.com/questions/13946651/matching-special-characters-and-letters-in-regex
특수문자가 있는지 검사하는 건 이렇게 하면 된다.
public static boolean hasSpecialCharacter(String string) { if (TextUtils.isEmpty(string)) { return false; } for (int i = 0; i < string.length(); i++) { if (!Character.isLetterOrDigit(string.charAt(i))) { return true; } } return false; }