『壹』 jsp\java 如何編寫過濾器過濾特殊字元
package com.jing.common;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class IllegalCharacterFilter implements Filter {
private String[] characterParams = null;
private boolean OK=true;
public void init(FilterConfig config) throws ServletException {
// if(config.getInitParameter("characterParams").length()<1)
// OK=false;
// else
// this.characterParams = config.getInitParameter("characterParams").split(",");
System.out.println("初始化");
}
@SuppressWarnings("unchecked")
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain arg2) throws IOException, ServletException {
HttpServletRequest servletrequest = (HttpServletRequest) request;
HttpServletResponse servletresponse = (HttpServletResponse) response;
String param = "";
String paramValue = "";
//設置請求編碼格式
servletresponse.setContentType("text/html");
servletresponse.setCharacterEncoding("UTF-8");
servletrequest.setCharacterEncoding("UTF-8");
java.util.Enumeration params = request.getParameterNames();
//循環讀取參數
while (params.hasMoreElements()){
param = (String) params.nextElement(); //獲取請求中的參數
String[] values = servletrequest.getParameterValues(param);//獲得每個參數對應的值
for (int i = 0; i < values.length; i++) {
paramValue = values[i];
//轉換目標字元變成對象字元,可以多個。後期擴展特殊字元庫用於管理
paramValue = paramValue.replaceAll("'","");
paramValue = paramValue.replaceAll("@","");
paramValue = paramValue.replaceAll("胡錦濤","***");
//這里還可以增加,如領導人 自動轉義成****,可以從資料庫中讀取非法關鍵字。
values[i] = paramValue;
}
//把轉義後的參數重新放回request中
request.setAttribute(param, paramValue);
}
//繼續向下 執行請求,如果有其他過濾器則執行過濾器
arg2.doFilter(request, response);
}
public void destroy() {
// TODO Auto-generated method stub
}
}
『貳』 jsp頁面,如何驗證textarea裡面的特殊字元,比如說引號,單引號,尖括弧,等等,急急急、、、
//去掉特殊符號的方法(調用在下面)
String.prototype.TextFilter=function(){
var pattern=new RegExp("[`~%!@#^=''?~!@#¥……&——『」「'?*()(),,。.、]"); //[]內輸入你要過濾的字元,這里是我的
var rs="";
for(var i=0;i<this.length;i++){
rs+=this.substr(i,1).replace(pattern,'');
}
return rs;
}
var uname=document.getElementById("uname1").value; //通過ID取到texteara的值
var txt=uname.TextFilter(); //調用上面的去字元方法
if(txt!=uname){
alert("您輸入的內容含有限定字元");
}
字元已經去了 怎麼判斷 要怎麼調用 你自己看著辦了(是在<script></script>里)
『叄』 jsp中一些特殊字元怎麼處理
你事先准備好轉義和反轉義的工具函數,並為可能的特殊字元准備一份轉義影射表,讓伺服器端和客戶端都遵守這個約定。 要麼,你把XML的內容全部用「[CDATA[……]]」方式輸
『肆』 JSP如何解決特殊字元問題
不懂,從未遇到。其實在字元串裡面只有
雙音號,大於號,小於號等特殊
『伍』 如何阻止jsp頁面對 & 等 符號轉義字元
可以用jstl標簽,<c:out value="expression" default="expression" escapeXml="false"/> expression是你所查詢出來的那段數據。但是要求導入支持jstl的那兩個jar包。
『陸』 jsp中如何過濾非法字元
可以利用javascript驗證正則表達式的方式對非法字元做處理,同樣Java也可以利用正則表達式幫你過濾非法字元,最終還得更具你的具體需求來定。
『柒』 jsp表單中限制輸入特殊字元的語句
<inputtype="text"id="text1"/>
<textareaid="textarea1"></textarea>
<script>
document.getElementById("text1").onkeypress=function(e){
checkChar(e);
}
document.getElementById("textarea1").onkeypress=function(e){
checkChar(e);
}
functioncheckChar(e){
e=window.event||e;
varcode=e.keyCode||e.which;
varreg=/[////:/*/?"/</>/|]/;//禁止//:*?"<>|
if(reg.test(String.fromCharCode(code))){
if(window.event){
e.returnValue=false;
}else{
e.preventDefault();
}
}
}
</script>
『捌』 js 頁面傳參數時 參數值含特殊字元的問題
工作中遇到的小問題,一個頁面中通過window.showModel("comm/morelanguage.jsp?str=zh_CN:愛#;zh_TW:愛;en:love;",,,,);彈出另一個頁面並將參數傳遞到另一個頁面,另一個頁面接受得到src參數值時會出現問題,值不對,測試過是因為#特殊字元的問題,對於這些特殊字元我採取的辦法是
傳參數時,str=escape('str=zh_CN:愛#;zh_TW:愛;en:love;')處理
接受參數時,拿到str後str=unescape(str);
『玖』 jsp頁面上,在中如何顯示特殊符號
JSP頁面顯示特殊符號,需要注意以下問題:
頁面是否使用UTF-8編碼,有些符號在其他編碼下顯示不出來。
使用標簽顯示特殊符號。<fmt:formatNumber>,可以顯示數字百分比貨幣等符號。<fmt:formatDate>對於日期字元串顯示,例如<fmt:formatDate value="${xx.createDate}" pattern="yyyy-MM-dd HH:mm:ss"/>。
有些特殊符號可使用相應編碼代替,例如<=<。
『拾』 jsp\java如何編寫過濾器過濾特殊字元
正則表達式來校驗:過濾器就網路一大堆,怎麼寫正則表達式,也可以網路,不知你說的特殊字元是什麼字元,所以只能給方法