在项目开发过程中会有textarea文本框输入提交后台,在特殊字符和脚本防注入的处理上,采用html转义的简单方法来解决这个问题。
1、用htmlEncode 来转义后提交后台:
htmlEncode (str) { // 转义 元素的innerHTML内容即为转义后的字符
let ele = document.createElement('span')
ele.appendChild(document.createTextNode(str))
return ele.innerHTML
}
2、使用htmlDecode来解析后台返回回显的转义后的字符
htmlDecode (str) { // 解析 元素的innerHTML内容即为转义后的字符
let ele = document.createElement('span')
ele.innerHTML = str
return ele.textContent
}
这种能解决一般的脚本注入和表单提交解析问题,复杂验证还需自定义增加转义正则来实现。