jquery填充table時怎么處理特殊字符?
查詢的數(shù)據(jù)中存在特殊字符或者js語句,如:數(shù)據(jù)庫字段中有一個字段的內(nèi)容是: "alert('商品編碼');",那么這個字段查出來到表格中之后,頁面會彈出提示框
2.grid查詢的字段來自于用戶手動輸入的文本,如果有惡意攻擊,直接輸入js語句,會執(zhí)行相關(guān)語句。
表格字段formatter 的時候調(diào)用 HTMLEncode
{field:'dlAddress',title:'使用地點(diǎn)',width: 200,align:'center',
formatter : function(value, row, index) {
return HTMLEncode(value);
}
}
/*-----------------------------------------------------------------------------------------*\
* 函數(shù): 把特殊字符進(jìn)行轉(zhuǎn)換
* 參數(shù): value -- 需要轉(zhuǎn)化的字符串
* 返回值:
* 描述:
\*-----------------------------------------------------------------------------------------*/
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;