jquery easyui grid 表格特殊字符處理
grid 獲取的數據中,如果數據存在測試的字符,或者js語句,會導致頁面布局錯亂,如下方法,讓獲取到的數據全部當成文本進行顯示
此操作主要防止以下亮點
1. 由於業務需要,查詢的數據中存在特殊字符或者js語句,如:數據庫字段中有一個字段的內容是: "alert(‘商品編碼‘);",那麽這個字段查出來到表格中之後,頁面會彈出提示框
2.grid查詢的字段來自於用戶手動輸入的文本,如果有惡意攻擊,直接輸入js語句,會執行相關語句。
表格字段formatter 的時候調用 HTMLEncode
{field:‘dlAddress‘,title:‘使用地點‘,width: 200,align:‘center‘,
formatter : function(value, row, index) {
return HTMLEncode(value);
}
}
/*-----------------------------------------------------------------------------------------*\
* 函數: 把特殊字符進行轉換
* 參數: value -- 需要轉化的字符串
* 返回值:
* 描述:
\*-----------------------------------------------------------------------------------------*/
function HTMLEncode(value) {
var returnValue;
if(value==null){
return null;
}
returnValue = value.replace(/&/g, ‘&‘);
returnValue = returnValue.replace(/</g, ‘<‘);
returnValue = returnValue.replace(/>/g, ‘>‘);
returnValue = returnValue.replace(/\n\n/g, ‘<br/>‘);
returnValue = returnValue.replace(/\r\r/g, ‘<br/>‘);
returnValue = returnValue.replace(/\n/g, ‘<br/>‘);
returnValue = returnValue.replace(/\r/g, ‘<br/>‘);
returnValue = returnValue.replace(/\t/g, ‘ ‘);
return returnValue;
}
jquery easyui grid 表格特殊字符處理