欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JAVA 过滤非法字符(积累)

程序员文章站 2024-02-08 18:13:58
...

1、字符串转为char数组,然后逐一进行判断,符合的字符保留。

public static String decodeby10(String str) {
    StringBuffer out = new StringBuffer();
    if (str == null || ("".equals(str)))
        return "";
    char[] chars = str.toCharArray();
    for(int i = 0; i < chars.length; i ++) {
        if((chars[i] >= 19968 && chars[i] <= 40869) //中日朝兼容形式的unicode编码范围: U+4E00——U+9FA5
        || (chars[i] >= 11904 && chars[i] <= 42191)//中日朝兼容形式扩展
        || (chars[i] >= 63744 && chars[i] <= 64255)//中日朝兼容形式扩展
        || (chars[i] >= 65072 && chars[i] <= 65103)//中日朝兼容形式扩展
        || (chars[i] >= 65280 && chars[i] <= 65519)//全角ASCII、全角中英文标点、半宽片假名、半宽平假名、半宽韩文字母的unicode编码范围:U+FF00——U+FFEF
        || (chars[i] >= 32 && chars[i] <= 126)//半角字符的unicode编码范围:U+0020-U+007e
        || (chars[i] >= 12289 && chars[i] <= 12319)//全角字符的unicode编码范围:U+3000——U+301F
        ) {
            out.append(chars[i]);
        }
    }
    String result=out.toString().trim();
    result=result.replaceAll("\\?", "").replaceAll("\\*", "").replaceAll("<|>", "").replaceAll("\\|", "").replaceAll("/", "");
    return result;
}