可以新建一个过滤器的类,在类中书写如下代码:

public static String filterEmoji(String source) { 
         if(source != null)
         {
             Pattern emoji = Pattern.compile ("[\ud83c\udc00-\ud83c\udfff]|[\ud83d\udc00-\ud83d\udfff]|[\u2600-\u27ff]",Pattern.UNICODE_CASE | Pattern . CASE_INSENSITIVE ) ;
             Matcher emojiMatcher = emoji.matcher(source);
             if ( emojiMatcher.find())
             {
                 source = emojiMatcher.replaceAll("*");
                 return source ;
             }
         return source;
        }
        return source; 
     }
 
如果没有改变的话,可以在该类中书写以下代码:
private static final long serialVersionUID = -5916500037685553487L;
    public void destroy() {
       // TODO Auto-generated method stub
    }

@SuppressWarnings("unchecked")
    public void doFilter(ServletRequest request, ServletResponse response,
        FilterChain arg2) throws IOException, ServletException {
       HttpServletRequest servletrequest = (HttpServletRequest) request;
       //新加代码http://www.2cto.com/kf/201512/455191.html
       HttpServletResponse servletresponse = (HttpServletResponse) response;
       String param = "";
       String paramValue = "";

servletresponse.setContentType("text/html");
       servletresponse.setCharacterEncoding("UTF-8");
       servletrequest.setCharacterEncoding("UTF-8");
       java.util.Enumeration params = request.getParameterNames();
       while (params.hasMoreElements()) {

param = (String) params.nextElement();
        String[] values = servletrequest.getParameterValues(param);//获得每个参数的value
       
        for (int i = 0; i < values.length; i++) {

paramValue = values[i];
        
         
         paramValue = paramValue.replaceAll("<script>", "(*");
         paramValue = paramValue.replaceAll("</script>", ")");
         paramValue = paramValue.replaceAll("[\ud83c\udc00-\ud83c\udfff]|[\ud83d\udc00-\ud83d\udfff]|[\u2600-\u27ff]", ""); //过滤emoji表情
        
         
        //这里还可以增加,如领导人 自动转义成****,可以从数据库中读取非法关键字。
         values[i] = paramValue;
        }

//把转义后的参数重新放回request中
        request.setAttribute(param, paramValue);
       }
       //继续向下

arg2.doFilter(request, response);

}

public void init(FilterConfig arg0) throws ServletException {
       // 初始化

}
}

 

java代码过滤emoji表情的更多相关文章

  1. java过滤emoji表情(成功率高)

    转载自:http://blog.csdn.net/huangchao064/article/details/53283738 基本能过滤大部分的ios,安卓,微信emoji表情 有很多别的帖子搜出来很 ...

  2. 过滤特殊字符(包括过滤emoji表情)

    /** * 过滤特殊字符 * @param $text * @return mixed */ public static function filterSpecialChars($text) { // ...

  3. python3 清除过滤emoji表情

    python3 清除过滤emoji表情 方法一: emoji处理库,emoji官网:https://pypi.org/project/emoji/ #安装 pip install emoji 官方例子 ...

  4. Js 过滤emoji表情...持续补充中..

    原文来自: https://www.cnblogs.com/tsjTSJ/p/7065544.html 最全最详细的用JS过滤Emoji表情的输入   在前端页面开发过程中,总会碰到不允许输入框输入e ...

  5. php 过滤emoji表情

    function yz_expression() { foreach ($_POST as $key => &$value) { $value = preg_replace_callba ...

  6. 过滤emoji表情符

    1.使用正则匹配 public  function remove_emoji($text){        return preg_replace('/([0-9|#][\x{20E3}])|[\x{ ...

  7. 最全最详细的用JS过滤Emoji表情的输入

    在前端页面开发过程中,总会碰到不允许输入框输入emoji表情的需求,我的思路是通过编码用正则匹配表情,然后将其替换为空字符创.但是问题也是显而易见的,完整的编码集是什么呢?查阅了官方文档,发现上面并没 ...

  8. 用JS过滤Emoji表情的输入

    本文为原创,转载请注明出处: cnzt       文章:cnzt-p http://www.cnblogs.com/zt-blog/p/6773854.html 在前端页面开发过程中,总会碰到不允许 ...

  9. java过滤emoji表情

    import java.util.regex.Matcher; import java.util.regex.Pattern; public class test { /** * 表情过滤 * */ ...

随机推荐

  1. HTML5+CSS3的响应式网页设计:自动适应屏幕宽度

    这几天都在修改博客上面的样式.本来用的是d83.0的模板.自己又修改了许多地方,其中自己修改的一些地方在手机里面显示的效果不是很理想,于是想改成自适应的效果.对CSS3不是特别的熟练,只能去网上找找案 ...

  2. <转>WCF中出现死锁或者超时

    WCF回调中的死锁 一.服务器端死锁 对于如下服务: [ServiceContract(CallbackContract = typeof(INotify))] public class Downlo ...

  3. PHPCMS V9 WAP手机门户域名绑定

    如需要绑定域名为wap.domain.com,作下如操作: 一.把wap.domain.com域名绑定到你的这个网站主机上. 二.在网站后台模块>手机门户域名里面填写“http://wap.do ...

  4. hdu 5288 数学 ****

    给一个序列 定义函数f(l ,r) 为区间[l ,r] 中 的数ai不是在这个区间其他任意数aj的倍数 求所有f(l,r)之和 通过预处理,记录 a[i] 的左右边界(所谓的左右边界时 在从 a[i] ...

  5. ios github网址

    ios github网址 http://github.ibireme.com/github/list/ios/

  6. Codeforces Round #369 (Div. 2) C. Coloring Trees DP

    C. Coloring Trees   ZS the Coder and Chris the Baboon has arrived at Udayland! They walked in the pa ...

  7. 十天来学习java的心得体会

    有关学习java是几天来的心得体会: 十天学习java遇到很多问题,每个问题都是经过反复的看书本以及上网查找资料来解决的,发现这一点真的需要自己来而不是去遇到什么问题就去依靠他人(师兄.同学).在其中 ...

  8. Hibernate的持久化类状态

    Hibernate的持久化类状态 持久化类:就是一个实体类 与 数据库表建立了映射. Hibernate为了方便管理持久化类,将持久化类分成了三种状态. 瞬时态 transient (临时态):持久化 ...

  9. hdu 5306 优先队列

    用到优先队列 #include<iostream> #include<string> #include<algorithm> #include<cstdio& ...

  10. Liferay 6.2 改造系列之七:关闭使用条款确认、密码提醒、新用户强制修改密码等功能

    关闭使用条款确认: 在/portal-master/portal-impl/src/portal.properties配置文件中,有如下配置: # # Set this to true if all ...