2016-10-26 99 views
3

我有一个字符串,可能包含一个撇号(')或一个&符号(&)。我需要找出是否存在一个或两个。如果他们这样做,然后用''和/或'&Javascript找到并替换特殊字符

trim(Pos_Query_Super.replace(/'/g,"''")) 

替代他们,我可以添加和/或条件上面,简单地使用JavaScript更换呢?这个开发是在一个流程流程IDE中我们可以使用JS表达式。

回答

2

是的,你可以用一个函数来返回基于匹配

trim(Pos_Query_Super.replace(/'|&/g,function(match){ 
    return { 
      '\'':'\''', 
      '&':'\'&' 
      }[match] 
})); 
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>"));

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

+0

“因为没有理由这么做”---你怎么知道的? – zerkms

+0

你怎么知道那里有? –

+0

我不知道 - 我相信OPs,直到证明,否则:-) – zerkms