티스토리 뷰

public InputFilter filterKorea = new InputFilter() {
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
Pattern ps = Pattern.compile("^[가-힣ㄱ-ㅎㅏ-ㅣ\u318D\u119E\u11A2\u2022\u2025\u00B7\uFE55\u4E10\u3163\u3161]+$");
if (!ps.matcher(source).matches()) {
return null;
}
return "";
}
};


mEdit_pw.setFilters(new InputFilter[]{filterKorea});



\u318D\u119E\u11A2\u2022\u2025\u00B7\uFE55\u4E10

얘네들은 천지인 키보드의 ㅡ ㅣ 와 함께쓰는 점 들이다 ... 



\u3163\u3161

얘네들은 ㅣ ㅡ 이다.



* 천지인 키보드의 ㅡ ㅣ 점 들이 서로 조합해서 모음을 만들기 때문에 그냥 ㅏ-ㅣ 로 정규식을 넣으면 작동이 안된다.. 



위 코드는 한글을 제외한 영어, 숫자, 특수문자만 받기위한 코드다



만약 한글만 받고자 한다면 inputfilter 안에 조건문에서 return 값을 위아래 바꿔주면 된다.


마찬가지로 정규식을 바꾼다면 영어나 숫자도 가능하다. 






 // ㅡ ㅣ 유니코드 찾은 주소 

 //  http://www.unicode.org/charts/


ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ


*이 코드를 쓰면 xml에서 maxlength를 못쓴다 


if(dstart>19){
source = "";
return "";
}


이 코드로 20자가 넘을 때 ""를 return 해주자