在项目开发过程中会有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
  }

这种能解决一般的脚本注入和表单提交解析问题,复杂验证还需自定义增加转义正则来实现。

Logo

前往低代码交流专区

更多推荐