使用正則表達式 p s f s NOT_EMOJI = “[/ud83c/udc00-/ud83c/udfff]|[/ud83d/udc00-/ud83d/udfff]|[/u2600-/u27ff]”
找了好多個正則表達式,這個還是可以的
代碼: 返回true代表輸入了表情,否則不是表情
public static boolean isEmote(String content) { Pattern pattern = Pattern.compile(NOT_EMOJI); Matcher matcher = pattern.matcher(content); return matcher.find(); }EdText控件監聽
text.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { } //可以在這個方法里面操作完成 @Override public void afterTextChanged(Editable s) { //如果為true if (isEmote(s.toString())) { //刪除輸入的表情,開始位置和結束位置,表情符號長度為2個,所以減2 s.delete(s.length() - 2, s.length()); }else { textView.setText("(" + s.length() + "/" + "200" + ")"); } } });以上所述是小編給大家介紹的Android EdText編輯框禁止輸入表情符號(使用正則表達式),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!
新聞熱點
疑難解答