使用正則表達(dá)式 p s f s NOT_EMOJI = “[\ud83c\udc00-\ud83c\udfff]|[\ud83d\udc00-\ud83d\udfff]|[\u2600-\u27ff]”
創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),赫章企業(yè)網(wǎng)站建設(shè),赫章品牌網(wǎng)站建設(shè),網(wǎng)站定制,赫章網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,赫章網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
找了好多個(gè)正則表達(dá)式,這個(gè)還是可以的
代碼: 返回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) { } //可以在這個(gè)方法里面操作完成 @Override public void afterTextChanged(Editable s) { //如果為true if (isEmote(s.toString())) { //刪除輸入的表情,開始位置和結(jié)束位置,表情符號(hào)長度為2個(gè),所以減2 s.delete(s.length() - 2, s.length()); }else { textView.setText("(" + s.length() + "/" + "200" + ")"); } } });
以上所述是小編給大家介紹的Android EdText編輯框禁止輸入表情符號(hào)(使用正則表達(dá)式),希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)創(chuàng)新互聯(lián)網(wǎng)站的支持!