溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android中如何利用EditText禁止輸入表情

發(fā)布時間:2022-04-15 16:01:13 來源:億速云 閱讀:367 作者:iii 欄目:編程語言

本篇內容主要講解“Android中如何利用EditText禁止輸入表情”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Android中如何利用EditText禁止輸入表情”吧!

代碼如下

InputFilter inputFilter= new InputFilter() {
    Pattern emoji = Pattern.compile("[\ud83c\udc00-\ud83c\udfff]|[\ud83d\udc00-\ud83d\udfff]|[\u2600-\u27ff]",
        Pattern.UNICODE_CASE | Pattern.CASE_INSENSITIVE);

    @Override
    public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
      Matcher emojiMatcher = emoji.matcher(source);
      if (emojiMatcher.find()) {
        //          Toast.makeText(MainActivity.this,"不支持輸入表情", 0).show();
        MyToast.showText("不支持輸入表情");
        return "";
      }
      return null;
    }
  };

然后給editText設置filter,這里給editText設置了兩個filter第一個是屏蔽表情,第二個是設置用戶輸入多少字數的限制

//給editText設置filter
edit_name.setFilters(new InputFilter[]{inputFilter,new InputFilter.LengthFilter(12)});

當然這里最后要提醒大家一點就是,這樣屏蔽的表情符號肯定還是不能夠百分之百的屏蔽完全的。所以最后我們只能選擇讓用戶填寫英文,漢字,和數字了。下面是過濾的代碼

InputFilter inputFilter=new InputFilter() {

    Pattern pattern = Pattern.compile("[^a-zA-Z0-9\\u4E00-\\u9FA5_]");
    @Override
    public CharSequence filter(CharSequence charSequence, int i, int i1, Spanned spanned, int i2, int i3) {
     Matcher matcher= pattern.matcher(charSequence);
      if(!matcher.find()){
        return null;
      }else{
        MyToast.showText("只能輸入漢字,英文,數字");
        return "";
      }

    }
  };

到此,相信大家對“Android中如何利用EditText禁止輸入表情”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI