为什么我的替换不能按预期工作

时间:2012-10-04 08:26:44

标签: javascript html

  

可能重复:
  Fastest method to replace all instances of a character in a string

我有这个

<p id="demo">/,\,:,*,?,",<,>,|</p>
<input type="button" onclick="myFunction()" value="Replace"/>

function myFunction() {
    var str = document.getElementById("demo").innerHTML;
    var n = str.replace(",", ", ");
    document.getElementById("demo").innerHTML = n;
}

我想要的是用"/,\,:,*,?,",<,>,|"替换此"/, \, :, *, ?, ", <, >, |",但我得到的是"/, \,:,*,?,",<,>,|"

我做错了什么?

3 个答案:

答案 0 :(得分:2)

您必须使用正则表达式来替换字符串g

var n = str.replace(/,/g, ', ');

答案 1 :(得分:1)

替换此行 var n = str.replace(",", ", ");

var n = str.replace(/,/g, ", ");

默认只会替换第一个出现的

答案 2 :(得分:0)

javascript中的替换仅替换第一次出现。

您需要使用正则表达式或循环。

检查出来:Javascript multiple replace