防止xss和sql注入:JS特殊字符过滤正则

1.过滤

function stripscript(s) 
{ 
var pattern = new RegExp("[%--`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?]")        //格式 RegExp("[在中间定义特殊过滤字符]")
var rs = ""; 
for (var i = 0; i < s.length; i++) { 
 rs = rs+s.substr(i, 1).replace(pattern, ''); 
}
return rs;
}
  1. 转移
   /**
     * @description 方法-对单引号,双引号,斜杠,尖括号,百分号等危险字符采用转译
     */
    addEscape(value) {
      let arr = [
        "(",
        "[",
        "{",
        "/",
        "^",
        "$",
        "¦",
        "}",
        "]",
        ")",
        "?",
        "*",
        "+",
        ".",
        "'",
        '"',
        "%",
      ];
      for (let i = 0; i < arr.length; i++) {
        if (value) {
          if (value.indexOf(arr[i]) > -1) {
            const reg = (str) =>
              str.replace(/[\[\]\/\{\}\(\)\*\'\"\%\¦\+\?\.\\\^\$\|]/g, "\\$&");
            value = reg(value);
          }
        }
      }
      return value;
    },

版权声明:本文为lyxkgc原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。