欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android EdText编辑框禁止输入表情符号(使用正则表达式)

程序员文章站 2022-10-10 11:54:10
使用正则表达式 p s f s not_emoji = “[\ud83c\udc00-\ud83c\udfff]|[\ud83d\udc00-\ud83d\udfff]|[...

使用正则表达式 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编辑框禁止输入表情符号(使用正则表达式),希望对大家有所帮助