안드로이드 스튜디오

EditText에 영문, 숫자 만 적용하기

고줭 2021. 9. 7. 15:06
InputFilter filterAlphaNum = new InputFilter() {
            public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
                Pattern ps = Pattern.compile("^[a-zA-Z0-9]+$");
                if (!ps.matcher(source).matches()) {
                    return "";
                }
                return null;
            }
        };

// 정규표현식만 적용하는 경우
editText.setFilters(new InputFilter[] {
	filterAlphaNum
});

// 길이까지 제한하는 경우
editText.setFilters(new InputFilter[] {
    filterAlphaNum,
    new InputFilter.LengthFilter(5)
});

띄어쓰기, 특수문자, 한글은 들어갈 일이 없는 EditText를 구현하기위해서 쓴 코드입니다.

힌트키의 경우 3글자는 영문 2글자는 숫자이므로 이런식으로 했습니다.