Android EdText編輯框禁止輸入表情符號(使用正則表達式)
更新時間:2017年06月21日 16:55:40 作者:lmy_1992
這篇文章主要介紹了Android EdText編輯框禁止輸入表情符號使用正則表達式,需要的朋友可以參考下
使用正則表達式 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控件監(jiān)聽
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編輯框禁止輸入表情符號(使用正則表達式),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
相關文章
詳解Android TextView屬性ellipsize多行失效的解決思路
這篇文章主要介紹了Android TextView屬性ellipsize多行失效的解決思路,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-07-07
Android Handler之消息循環(huán)的深入解析
本篇文章是對Handler消息循環(huán)進行了詳細的分析介紹,需要的朋友參考下2013-05-05

