2012-06-27 71 views
0

我需要從JS字符串中轉義一些特殊字符,但我只能用一個字符替換一個或多個匹配項。Javascript:用相同數量的另一個字符替換一個或多個相同的字符?

例如,我想替換&與&但是當我逃離這個字符串:&&&我得到&&&

我一直在使用

input = input.replace(/&/g,"&"); 

我知道解決這個問題可能與使用匿名函數來完成,但是我還需要逃跑約10其他字符。我看不到一種方法將替換作爲變量傳遞給函數。這是否意味着我將不得不編寫11個獨立的函數?

+2

你是如何執行它並驗證結果?它應該像廣告一樣工作http://jsfiddle.net/RCmpR/ –

+0

''&&&'。replace(/&/ g,'&');'按預期工作。 – David

+0

如果我去你的jsfiddle鏈接,我看到& & &,但如果我在Firefox中執行相同的代碼,我看到一個提示,說&&& –

回答

1

你的代碼沒問題,看來你已經測試了它沒有/g

您還可以使用:replace(/(&)/g,"$1amp;");

看到和測試代碼here

+0

謝謝。看來JS仍然有效,似乎我不應該使用document.write來測試這種東西。 –

相關問題