[Android] EditText Filter
주로 EditText에서 사용되는 필터
Emoji Filter(이모티콘 필터)
123456789101112131415161718192021private EditText editText ;
public void onCreate(Bundle savedInstanceState) {
...
editText.setFilters(new InputFilter[]{specialCharacterFilter});
}
/** 이모티콘이 있을경우 "" 리턴, 그렇지 않을 경우 null 리턴 **/
private InputFilter specialCharacterFilter = new InputFilter() {
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
for (int i = start; i < end; i++) {
// 이모티콘 패턴
Pattern unicodeOutliers = Pattern.compile("[\\uD83C-\\uDBFF\\uDC00-\\uDFFF]+");
// '-' 입력 받고 싶을 경우 : unicodeOutliers.matcher(source).matches() && !source.toString().matches(".*-.*")
if(unicodeOutliers.matcher(source).matches()) {
return "";
}
}
return null;
}
};
Email Filter(이메일 필터)
123456789/**
* [email 형식 체크 함수]
* true : 이메일 형식에 맞음
* false : 이메일 형식에 맞지 않음
**/
public boolean checkEmailForm(String src){
String emailRegex = "^[_a-z0-9-]+(.[_a-z0-9-]+)*@(?:\\w+\\.)+\\w+$";
return Pattern.matches(emailRegex, src);
}
'Programming > Android' 카테고리의 다른 글
[Android] Activity Life Cycle(생명주기) (1) | 2015.12.14 |
---|---|
[Android] 외부 앱 실행 (0) | 2015.11.30 |
[Android] Android Soft KeyBoard Show and Hide (0) | 2015.11.18 |
[Android] ScrollView 안에 ListView height 지정 (2) | 2015.11.09 |
[Android] 날짜 출력하기(현재 날짜, 날짜 비교 등등) (0) | 2015.11.02 |