본문 바로가기
개발/안드로이드

Edittext inputfilter

by darksilber 2016. 4. 20.
반응형

출처 - http://zolasse.blogspot.kr/2014/01/blog-post.html

 

// 영문 + 숫자 만 입력 되도록
public 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에 적용 한다.
editText.setFilters(new InputFilter[]{filterAlphaNum}); 


아래 소스에서 정규식만 바꿔주면 된다.
Pattern ps = Pattern.compile("^[a-zA-Z0-9]*$"); 

한글만 입력 되도록 : "^[ㄱ-ㅣ가-힣]*$"
영어만 입력 되도록 : "^[a-zA-Z]*$"
숫자만 입력 되도록 : "^[0-9]*$"
반응형

댓글