반응형
한글 영어 숫자 만 입력되게 EditText 필터 적용 ( 특수기호 및 이모지입력 차단)
etInput.setFilters(arrayOf(
InputFilter { src, start, end, dst, dstart, dend ->
//val ps = Pattern.compile("^[a-zA-Z0-9ㄱ-ㅎ가-흐]+$") //영문 숫자 한글
//영문 숫자 한글 천지인 middle dot[ᆞ]
val ps = Pattern.compile("^[a-zA-Z0-9ㄱ-ㅎ가-흐ㄱ-ㅣ가-힣ᆢᆞ\\u318d\\u119E\\u11A2\\u2022\\u2025a\\u00B7\\uFE55\\s?!]+$")
if (!ps.matcher(src).matches()) {
return@InputFilter ""
} else{
return@InputFilter null
}
}
))
삼성키패드 . 처리
Pattern ps = Pattern.compile("^[a-zA-Z0-9ㄱ-ㅎ가-흐ㄱ-ㅣ가-힣ᆢᆞ]+$"); 코드 부분에 이와 같이 처리하면 삼성키보드에서 . 을 처리 할 수 있다.
영문 숫자만 입력
Pattern ps = Pattern.compile("^[a-zA-Z0-9]*$");
한글만
Pattern ps = Pattern.compile("^[ㄱ-ㅣ가-힣]*$");
참고자료
[0] 천지인 middle dot[ᆞ] 처리, https://hydok.tistory.com/17
\\u318d\\u119E\\u11A2\\u2022\\u2025a\\u00B7\\uFE55
[1] 삼성키패드,https://human2p.tistory.com/entry/EditText-%ED%8A%B9%EC%88%98%EB%AC%B8%EC%9E%90-%EC%A0%9C%ED%95%9C
[2] 특수문자 제한, 한글만 입력, https://jkpark.github.io/blog/restrict-input-on-edittext/
[3] EdtiTextInpuFilter kotlin, https://jinsangjin.tistory.com/66
[4] 띄어쓰기 \\s, https://j07051.tistory.com/554
반응형
'안드로이드' 카테고리의 다른 글
[안드로이드] 앱(패키지) 설치 유무 확인 (0) | 2022.04.15 |
---|---|
[android] 위치 정보 서비스 GPS/Network LocationTracker (Kotlin) (0) | 2021.11.25 |
[Android] data Binding + liveData 적용 주의 ui not updated (1) | 2021.11.11 |
[Android] startActivityForResult deprecated kotlin (0) | 2021.11.10 |
[Android] DPI 별 기준 해상도. (0) | 2021.10.18 |