-
[안드로이드] EditText 특수문자 제한 하기 (천지인키보드 ·(middle dot) 허용)개발/Android 2018. 12. 17. 16:23
EditText 입력 시 setFilters에 정규식을 이용해서 한글, 영문, 숫자만 허용할 수 있다.
editText.setFilters(new InputFilter[]{new InputFilter() { @Override public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) { Pattern ps = Pattern.compile("^[a-zA-Z0-9가-힣ㄱ-ㅎㅏ-ㅣ\\u318D\\u119E\\u11A2\\u2022\\u2025a\\u00B7\\uFE55]+$"); if (source.equals("") || ps.matcher(source).matches()) { return source; } Toast.makeText(getContext(), "한글, 영문, 숫자만 입력 가능합니다.", Toast.LENGTH_SHORT).show(); return ""; } },new InputFilter.LengthFilter(9)});
원래 한글, 숫자, 영어만 체크 하려면 a-zA-Z0-9가-힣ㄱ-ㅎㅏ-ㅣ 이정도만 있으면 되지만,
\\u318D\\u119E\\u11A2\\u2022\\u2025a\\u00B7\\uFE55
뒤에 이 코드가 추가된 이유는 한글 천지인 키보드의 ‘·(middle dot)’ 허용을 위해서 추가된 코드 이다.
source.equals("") //여기는 백스페이스 허용 처리를 하기 위한 부분
,new InputFilter.LengthFilter(9)}); // 마지막 부분 editText에 글자수 제한을 하고싶다면 다음과 같이 추가
'개발 > Android' 카테고리의 다른 글
[안드로이드] Toast 토스트 글자 크기 변경 (0) 2019.01.17 [안드로이드] Drawable Shape 코드로 색상 동적 변경 (0) 2019.01.17 [안드로이드] TextView에 Html 적용하기 및 링크 설정 (0) 2018.12.10 [안드로이드] Hash Key 해쉬키 가져오는 방법 (0) 2018.11.29 [안드로이드] ScrollView 맨위 / 아래로 자동 스크롤 (0) 2018.07.09