首页 > 代码库 > jquery easyui grid 表格特殊字符处理

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=http://www.mamicode.com/=null){
return null;
}
returnValue = http://www.mamicode.com/value.replace(/&/g, ‘&‘);
returnValue = http://www.mamicode.com/returnValue.replace(/ returnValue = http://www.mamicode.com/returnValue.replace(/>/g, ‘>‘);

returnValue = http://www.mamicode.com/returnValue.replace(/n/n/g, ‘
‘);
returnValue = http://www.mamicode.com/returnValue.replace(/r/r/g, ‘
‘);
returnValue = http://www.mamicode.com/returnValue.replace(/n/g, ‘
‘);
returnValue = http://www.mamicode.com/returnValue.replace(/r/g, ‘
‘);
returnValue = http://www.mamicode.com/returnValue.replace(/t/g, ‘ ‘);
return returnValue;
}

jquery easyui grid 表格特殊字符处理