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, '&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;
}

posted @ 2017-06-17 15:26  王翼  阅读(1186)  评论(0编辑  收藏  举报