package com.jingdu.common\x0d\x0aimport java.io.IOException\x0d\x0aimport java.io.PrintWriter\x0d\x0aimport javax.servlet.Filter\x0d\x0aimport javax.servlet.FilterChain\x0d\x0aimport javax.servlet.FilterConfig\x0d\x0aimport javax.servlet.ServletException\x0d\x0aimport javax.servlet.ServletRequest\x0d\x0aimport javax.servlet.ServletResponse\x0d\x0aimport javax.servlet.http.HttpServletRequest\x0d\x0aimport javax.servlet.http.HttpServletResponse\x0d\x0a\x0d\x0apublic class IllegalCharacterFilter implements Filter {\x0d\x0a private String[] characterParams = null\x0d\x0a private boolean OK=true\x0d\x0a \x0d\x0a public void init(FilterConfig config) throws ServletException {\x0d\x0a \x0d\x0a//if(config.getInitParameter("characterParams").length()
回答于 2022-11-16
可以用正则表达式过滤。
// 过滤特殊字符 public staticString StringFilter(String str) throws PatternSyntaxException {
// 只允许字母和数字 // String regEx ="[^a-zA-Z0-9]"
// 清除掉所有特殊字符
String regEx="[`~!@#$%^&*()+=|{}':',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]"
Pattern p = Pattern.compile(regEx)
Matcher m = p.matcher(str)
return m.replaceAll("").trim()
}