InputFilter emojiFilter = new InputFilter() {
Pattern emoji = Pattern.compile("[\ud83c\udc00-\ud83c\udfff]|[\ud83d\udc00-\ud83d\udfff]|[\u2600-\u27ff]",//限制输入表情
Pattern.UNICODE_CASE | Pattern.CASE_INSENSITIVE);
String speChat = "[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]";//限制输入特殊字符以及颜文字
@Override
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
Matcher emojiMatcher = emoji.matcher(source);
if (emojiMatcher.find()) {
ToastUtils.showMessage("不允许输入表情");
return "";
}
Pattern pattern = Pattern.compile(speChat);
Matcher matcher = pattern.matcher(source.toString());
if (matcher.find()) {
ToastUtils.showMessage("不允许输入特殊符号");
return "";
}
return null;
}
};
//使用方法
edTextView.setFilters(new InputFilter[]{emojiFilter});