1. 程式人生 > >js正則在特殊字元前進行轉義並加上原來的字元

js正則在特殊字元前進行轉義並加上原來的字元

//先定義一個需要轉義的字串
let str='aa+bb?-';
function querysour(e){
    e=e.replace(/(^\s*)|(\s*$)/g, "");//先過濾掉字串中的空格
    //用test函式判斷字串中有沒有定義的特殊字元
    if (/(\+|\-|\&|\||\!|\(|\)|\{|\}|\[|\]|\^|\”|\~|\*|\?|\:|\\)/g.test(e)) {
      //把匹配到的特殊字元替換成'////',再加上原來的字元
         e= e.replace(/(\+|\-|\&|\||\!|\(|\)|\{|\}|\[|\]|\^|\”|\~|\*|\?|\:|\\)/g, "////"+e.match(/(\+|\-|\&|\||\!|\(|\)|\{|\}|\[|\]|\^|\”|\~|\*|\?|\:|\\)/g)[0]);
        };
    return e;
};
querysour(str)