1. 程式人生 > >jquery easyui grid 表格特殊字符處理

jquery easyui grid 表格特殊字符處理

數據庫字段 一個 cti enc formatter val 提示 ddr 特殊字符

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, ‘&lt;‘);
returnValue = returnValue.replace(/>/g, ‘&gt;‘);

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, ‘&nbsp;‘);
return returnValue;
}

jquery easyui grid 表格特殊字符處理