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

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. java 杂物间 (二) Spring Web

    需要明确记住的继承关系

  2. 面试题之【打印1到最大的N位数】

    题目描述:给定一个数字N,打印从1到最大的N位数. 看起来像是很简单的问题(虽然实际也不是很难...)我们很容易写出这样的代码: #include<iostream> #include&l ...

  3. V for Vendetta

    V for Vendetta V字仇杀队 复仇者V 安迪·沃卓斯基 and Larry Wachowski 思想,是最强大的武器.因为,世界上的独裁政府,有一个共同特点就是推行洗脑和愚民政策. 经典台 ...

  4. 用c语言写一个函数把十进制转换成十六进制(转)

    #include "stdio.h" int main() { int num=0;int a[100]; int i=0; int m=0;int yushu; char hex ...

  5. 锤子banner

    查看效果: http://js.jirengu.com/negor/4/edit?html,output <!DOCTYPE html> <html> <head> ...

  6. SQL Server2008函数大全(完整版)

    SQL2008 表达式:是常量.变量.列或函数等与运算符的任意组合. 1. 字符串函数 函数 名称 参数 示例 说明 ascii(字符串表达式) select ascii('abc') 返回 97 返 ...

  7. SQLServer 维护脚本分享(11)部分DBCC及系统存储过程

    --DBCC命令与用法 DBCC HELP('?') DBCC HELP('useroptions') DBCC USEROPTIONS WITH NO_INFOMSGS --当前DB的区及文件 DB ...

  8. CSS3-html,样式与样式表的创建,选择器

  9. hdu 1059 Dividing

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission( ...

  10. Angular跨域

    Angular 跨域很简单,记住格式就好,有一些细节的东西需要跟后台商量的 比如地址栏的callback前面是&还是?跨域的原理请参考<jsonp跨域> Angular 跨域代码 ...