jquery easyui grid 表格特殊字符处理

Posted 王翼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;
}

























以上是关于jquery easyui grid 表格特殊字符处理的主要内容,如果未能解决你的问题,请参考以下文章

easyUI 两个grid表格数据左移右移代码

jquery easyui datagrid 在翻页以后仍能记录被选中的行及刷新设置选中行数据

jQuery EasyUI是不是有自己的查询结果的报表打印功能

JQuery EasyUI DataGrid 获取属性值

第二百二十五节,jQuery EasyUI,PropertyGird(属性表格)组件

jQuery easyUI 使用 datagrid 表格