Javascript .replace()无效

时间:2013-10-24 20:07:14

标签: javascript replace

carList = cars.innerHTML;
alert(carList);
carList = carList.replace("<center>","").replace("</center>","").replace("<b>","").replace("</b>","");
alert(carList);

enter image description here

为什么世界会发生这种情况?我已经尝试将其拆分为单独的string.replace(),并给出相同的结果。

2 个答案:

答案 0 :(得分:18)

.replace()与字符串一起使用只会修复您看到的第一个匹配项。如果你使用正则表达式来代替它,你可以指定它应该是全局的(通过之后用g指定它),从而完成所有事件。

carList = "<center>blabla</center> <b>some bold stuff</b> <b>some other bold stuff</b>";
alert(carList);
carList = carList.replace(/<center>/g,"").replace(/<\/center>/g,"").replace(/<b>/g,"").replace(/<\/b>/g,"");
alert(carList);

有关正常工作的样本,请参阅此fiddle

答案 1 :(得分:2)

您可以使用正则表达式同时匹配所有这些:

carList = carList.replace(/<\/?(b|center)>/g,"");

匹配字符串末尾的g标志告诉Javascript替换所有匹配项,而不仅仅是第一个匹配项。