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();
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值