안녕하세요~ 챠니입니다! :)
이번에는 EdtiText에서 Filter를 통해서 한글만, 영어만, 한글|영어만, 특수문자 제한 등등 하는 방법에 대해서 알아보도록 하겠습니다.
말이 길어지는 것보다는 아래의 예제를 통해 설명하겠습니다
EditText Filter 방법
EditText에 Filter를 하는 방법을 다음과 같습니다.
/** 문자열필터(EditText Filter) */
var filterAlphaNumSpace = InputFilter { source, start, end, dest, dstart, dend ->
/*
[요약 설명]
1. 정규식 패턴 ^[a-z] : 영어 소문자 허용
2. 정규식 패턴 ^[A-Z] : 영어 대문자 허용
3. 정규식 패턴 ^[ㄱ-ㅣ가-힣] : 한글 허용
4. 정규식 패턴 ^[0-9] : 숫자 허용
5. 정규식 패턴 ^[ ] or ^[\\s] : 공백 허용
*/
val ps = Pattern.compile("^[ㄱ-ㅣ가-힣a-zA-Z0-9\\s]+$")
if (!ps.matcher(source).matches()) {
""
} else source
}
binding.etSearch.filters = arrayOf(filterAlphaNumSpace)
코드를 보면 아주 쉽게 최대한 주석처리를 해두었습니다.
정규식패턴을 통해서 EditText에 적용하고자 하는 Filter(필터)를 만들고
editText에 filters를 적요하면 되겠습니다.
방법은 어렵지 않습니다.
위의 기능을 사용하기 위해서는 정규식표현에 대한 이해도가 필요하면
더 나아가 체계적인 Filter를 하기 위해서는 글자수제한 등등 기능이 추가 될 수 있겠습니다.
EditText Filter 적용
EditText에 Filter를 적용한 내용은 아래 영상과 같습니다.
허용: 한글,영어,숫자
제한: 특수문자
질문 또는 궁굼한 부분은 댓글을 남겨주세요! 친절하게 답변드리겠습니다!
응원의 댓글은 저에게 큰 힘이 된답니다! :)
즐거운 하루되세요!
깃허브 보러 놀러오세요 👇 (맞팔환영)
https://github.com/younminchan
'🖥 Programming > 📱 Android (Kotlin)' 카테고리의 다른 글
[Android][kotlin] Retrofit error message 확인하는 방법 (0) | 2022.07.22 |
---|---|
[Android] Android 기본 ".gitignore" 설정방법 (0) | 2022.07.21 |
[Android] AndroidStudio에서 KeyHash값 터미널에서 확인하기 (0) | 2022.07.21 |
[Android] Fragment Add시 뒤에 Fragment 클릭되는 문제 해결방법 (0) | 2022.07.21 |
[kotlin] hideKeyboard, showKeyboard(키보드 내리기, 키보드 올리기, 키보드 숨기기, 키보드 자동 내리기, 키보드 자동올리기) (0) | 2022.07.15 |
[kotlin] java.net.UnknownHostException / No address associated with hostname 에러 해결 (0) | 2022.07.14 |
[android] Task :app:compileDebugJavaWithJavac FAILED 오류 해결방법 (0) | 2022.07.13 |
[kotlin] ViewPager2 + TabLayout 스와이프 뷰 만들기 (2) | 2022.07.06 |