public InputFilter textSetFilter(String lang){
Pattern ps;
if(lang.equals("kor")){
ps = Pattern.compile("^[ㄱ-ㅣ가-힣\\s]*$"); //한글 및 공백문자만 허용
}else{
ps = Pattern.compile("[a-zA-Z\\s-]*$"); //영어 및 하이픈 문자만 허용
}
InputFilter filter = (source, start, end, dest, dstart, dend) -> {
if (!ps.matcher(source).matches()) {
return "";
}
return null;
};
return filter;
}
해당 메소드는 다음과 같이 적용하면 된다.
mEtKorName.setFilters(new InputFilter[]{textSetFilter("kor")});
mEtEngName.setFilters(new InputFilter[]{textSetFilter("eng")});