我有一个字符串,可能包含撇号(')或&符号(&)。我需要找到是否存在其中一个或两个。如果有,请将其替换为'&
和/或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表达式。
答案 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>"));
你会注意到这并没有逃脱单引号 - 因为没有理由这样做。