2014-02-16 445 views
2

我无法替换字符串中的字符。用另一个字符串替换字符串中的字符?

下面的代码我目前有:

var entry_value = document.getElementById("entry_box").value; 
var length = entry_value.length; 

for(var l = 0; l < length; l += 1) { 
    letter = encoded[l] 
    encoded = entry_value.replace(letter, "b") 
} 

这只有在b取代letter首先,我的问题是我如何更换整个字符串letter每一个实例?

+0

你的代码是无效的,试试l ponciste

+0

变量'length'是for循环之前定义的 – jabbawabba

+0

ok,即可以工作:-) – ponciste

回答

3

你需要使用一个全球性的正则表达式,而不是字符串的模式:

"aaaa".replace("a", "b") // "baaa" 
"aaaa".replace(/a/g, "b") // "bbbb" 

试试这个:

encoded = entry_value.replace(new RegExp(letter, "g"), "b") 
3

你可以简单地做

entry_value = entry_value.split(letter).join("b"); 

例如,

var entry_value = "abcdcfchij"; 
entry_value = entry_value.split("c").join("b"); 
console.log(entry_value);  // abbdbfbhij 
相关问题