Javascript查找和替换特殊字符

时间:2016-10-26 20:41:17

标签: javascript

我有一个字符串,可能包含撇号(')或&符号(&)。我需要找到是否存在其中一个或两个。如果有,请将其替换为'&和/或trim(Pos_Query_Super.replace(/'/g,"''"))

const findStuff = (data, x) => {
    data.forEach(u => {
        u.userData.forEach(ud => {
            const s = ud.stuff.find(s=>s.id === x.id);
            if (s){
                return s;
            }
        });
    });
};

我可以在上面添加和/或条件,只需使用javascript替换它吗?这个开发是在一个流程IDE中,我们可以使用JS表达式。

2 个答案:

答案 0 :(得分:2)

是的,您可以使用函数根据匹配项返回替换

trim(Pos_Query_Super.replace(/'|&/g,function(match){
    return {
            '\'':'\''', 
            '&':'\'&'
           }[match]
}));

答案 1 :(得分:0)

不要进行自己的HTML转义映射。相反,使用DOM例程来执行此操作:

function HtmlEscape(str) {
  const s = document.createElement('span');
  s.textContent = str;
  return s.innerHTML;
}

console.log(HtmlEscape("foo'bar&baz<div>Bob</div>"));

你会注意到这并没有逃脱单引号 - 因为没有理由这样做。