2016-10-26 101 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