java 字符串去除ios特殊字符

问题

不知道用户从哪里copy来的不可见字符,通过前端表单传给后端保存在数据库中,用户再次查看该数据时,前端无法解析后端返回的json字符串,后来通过数据库发现该数据中间出现了一个换行符号/u2028,带有这个字符的json通过js是不能解析的。这个字符属于不可见字符,很难发现。

常见不可见字符
在这里插入图片描述

代码

	/**
     * 获取去除ios字符后的字符串
     *
     * @param str 字符串
     * @return
     */
    public static String replaceIosChar(String str) {
        return str.replaceAll("[\\u007f-\\u009f]|\\u00ad|[\\u0483-\\u0489]|" +
                "[\\u0559-\\u055a]|\\u058a|[\\u0591-\\u05bd]|\\u05bf|[\\u05c1-\\u05c2]|[\\u05c4-\\u05c7]" +
                "|[\\u0606-\\u060a]|[\\u063b-\\u063f]|\\u0674|[\\u06e5-\\u06e6]|\\u070f|[\\u076e-\\u077f]" +
                "|\\u0a51|\\u0a75|\\u0b44|[\\u0b62-\\u0b63]|[\\u0c62-\\u0c63]|[\\u0ce2-\\u0ce3]|[\\u0d62-\\u0d63]" +
                "|\\u135f|[\\u200b-\\u200f]|[\\u2028-\\u202e]|\\u2044|\\u2071|[\\uf701-\\uf70e]|[\\uf710-\\uf71a]" +
                "|\\ufb1e|[\\ufc5e-\\ufc62]|\\ufeff|\\ufffc", "").trim();
    }
发布了54 篇原创文章 · 获赞 28 · 访问量 4230

猜你喜欢

转载自blog.csdn.net/qq_37174887/article/details/102731577