【问题标题】:Javascript replace() only replaces first match [duplicate]Javascript replace() 仅替换第一个匹配项[重复]
【发布时间】:2013-06-15 06:32:56
【问题描述】:

您好,请参阅此处的 jsfiddle:http://jsfiddle.net/moolood/jU9QY/

var toto = 'bien_address_1=&bien_cp_1=&bien_ville_1=';
var tata = toto.replace('&','<br/>');
$('#test').append(tata);

为什么在我的例子中 Jquery 只找到一个 '&' 并替换它?

【问题讨论】:

  • replace() 是普通的Javascript,与jQuery无关。

标签: javascript replace


【解决方案1】:

你写的代码只会替换first instance of the string.

使用 Regexg 将替换字符串的所有实例。

toto.replace(/&/g,'<br/>');

【讨论】:

    【解决方案2】:

    因为这就是 replace 在 JavaScript 中的工作方式。如果搜索参数是字符串,则仅替换第一个匹配项。

    要进行全局替换,您必须使用带有“全局”(g) 标志的正则表达式:

    var tata = toto.replace(/&/g,'<br/>');
    

    【讨论】:

    • 我也是 :).... +1 并且你的打字速度真快...
    • @pXL 伙计,你进去了.. 有点晚了.. 我只是在看到弹出窗口后才发帖.. :)
    • 非常感谢。我今天学到了一些东西;)
    • @PSL 我确实删除了我的答案:)
    猜你喜欢
    • 2022-12-02
    • 2011-03-13
    • 2011-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-09
    • 2021-04-16
    • 1970-01-01
    相关资源
    最近更新 更多