详解Android过滤emoji表情正则表达式

 更新时间:2018年06月28日 09:00:42   作者:ganchuanpu  
这篇文章主要介绍了Android过滤emoji表情正则表达式,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下

做了一些信息提交的操作,输入了Emoji表情时,后台数据库无法存储

原因:UTF-8编码有可能是两个、三个、四个字节。Emoji表情是4个字节,而Mysql的utf8编码最多3个字节,所以数据插不进去

讨论了一些方案,最后还是前端来做过滤,如果是Emoji表情直接干掉,因此也找了一些正则表达式,记录下

只过滤一Emoji表情:

[^\u0000-\uFFFF]

过滤Emoji表情和颜文字:

[\\ud83c\\udc00-\\ud83c\\udfff]|[\\ud83d\\udc00-\\ud83d\\udfff]|[\\u2600-\\u27ff]|[\\ud83e\\udd00-\\ud83e\\uddff]|[\\u2300-\\u23ff]|[\\u2500-\\u25ff]|[\\u2100-\\u21ff]|[\\u0000-\\u00ff]|[\\u2b00-\\u2bff]|[\\u2d06]|[\\u3030]

写了个静态方法使用:

/** 
   * Emoji表情校验 
   * 
   * @param string 
   * @return 
   */ 
  public static boolean isEmoji(String string) { 
    //过滤Emoji表情 
    Pattern p = Pattern.compile("[^\\u0000-\\uFFFF]"); 
    //过滤Emoji表情和颜文字 
    //Pattern p = Pattern.compile("[\\ud83c\\udc00-\\ud83c\\udfff]|[\\ud83d\\udc00-\\ud83d\\udfff]|[\\u2600-\\u27ff]|[\\ud83e\\udd00-\\ud83e\\uddff]|[\\u2300-\\u23ff]|[\\u2500-\\u25ff]|[\\u2100-\\u21ff]|[\\u0000-\\u00ff]|[\\u2b00-\\u2bff]|[\\u2d06]|[\\u3030]"); 
    Matcher m = p.matcher(string); 
    return m.find(); 
  }

总结

以上所述是小编给大家介绍的Android过滤emoji表情正则表达式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • Android Compose实现联系人列表流程

    Android Compose实现联系人列表流程

    声明式UI,更简单的自定义,实时带交互的预览功能Compose并不是类似于Recyclerview的高级控件,而是直接抛弃了View,ViewGroup那套东西,从上到下鲁了一套全新的框架,直白点说就是它的渲染机制,布局机制,触摸算法,以及UI具体写法全都是新的
    2023-03-03
  • Android开发学习笔记 Gallery和GridView浅析

    Android开发学习笔记 Gallery和GridView浅析

    这篇文章主要介绍了Android开发学习笔记 Gallery和GridView浅析,需要的朋友可以参考下
    2014-11-11
  • android实现圆角矩形背景的方法

    android实现圆角矩形背景的方法

    这篇文章主要介绍了android实现圆角矩形背景的方法,以实例形式分析了Android编程实现圆角矩形背景的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-10-10
  • Android SeekBar在刷新使用中需要注意的问题

    Android SeekBar在刷新使用中需要注意的问题

    SeekBar在刷新使用中需要注意的问题:在使用SeekBar的过程中需要注意刷新频率,避免频繁刷新造成的性能问题;同时,需要对SeekBar的监听事件进行适当的优化,减少回调次数,提高响应速度
    2023-05-05
  • Android如何从实现到封装一个MVP详解

    Android如何从实现到封装一个MVP详解

    原生的 MVC 框架遇到大规模的应用,就会变得代码难读,不好维护,无法测试的囧境。因此,Android 开发方面也有很多对应的框架来解决这些问题。所以这篇文章主要给大家介绍了关于Android如何从实现到封装一个MVP的相关资料,需要的朋友可以参考下。
    2017-09-09
  • Android开发之Notification通知用法详解

    Android开发之Notification通知用法详解

    这篇文章主要介绍了Android开发之Notification通知用法,结合实例形式较为详细的分析了Notification通知的功能、参数、定义及使用方法,需要的朋友可以参考下
    2016-11-11
  • Flutter中网络图片加载和缓存的实现

    Flutter中网络图片加载和缓存的实现

    这篇文章主要介绍了Flutter中网络图片加载和缓存的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • Android中XUtils3框架使用方法详解(一)

    Android中XUtils3框架使用方法详解(一)

    这篇文章主要介绍了Android中XUtils3框架使用方法详解(一)的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-08-08
  • Android自定义ViewGroup实现堆叠头像的点赞Layout

    Android自定义ViewGroup实现堆叠头像的点赞Layout

    这篇文章主要介绍了 Android自定义ViewGroup实现堆叠头像的点赞Layout,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • 项目发布Debug和Release版的区别详解

    项目发布Debug和Release版的区别详解

    这篇文章主要为大家详细介绍了项目发布Debug和Release版的区别,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-10-10

最新评论