爲了過濾一些內容當中包含有JS代碼,因此加了對字符的過濾設置。剛開始並沒有想到會有大小寫的問題。
如果用戶直接輸入<script>JS代碼</script>這樣是可以進行過濾,但沒考慮到如果用戶輸入的是大寫標籤或即有大寫也有小小寫的標籤。
最開始想到一種比較笨的方法就是一一列舉,然後一一匹配。着實太笨!
翻看API,發現原來JAVA已自帶有這方面的方法。汗顏!!!
代碼如下:
/**
* 對字符串當中的JS代碼 進行過濾,全部替換爲"非法字符"
*
* @param str 要過濾的字符串
* @return 過濾後的字符串
*/
public static String doFilter(String str) {
str = Pattern.compile("<script.*?>.*?</script>", Pattern.CASE_INSENSITIVE).matcher(str).replaceAll("****");
return str;
}