用javascript替换字符串中的多个出现

我有一个选择框,其参数作为选项中的值,如下所示:

<option value="{$i.tileid}androoftiletypeeq{$i.model}andproducenteq{$i.producent}">{$i.name} {$i.$title}</option>

我试图用“&”和“=”替换所有的“和”和“eq”,但我只能让我的javascript替换第一个出现。 该表格被命名为/ ID'ed“rooftile_select

$("#rooftile_select").change(function(event) {

  event.preventDefault(); 

  var data = $("#rooftile_select").serialize();                
  var pathname = window.location;
  var finalurl = pathname+'&'+data;

  var replaced = finalurl.replace("and", "&").replace("eq", "=");
});

finalurl中的最后一个参数如下所示:

&rid=56&rooftiletype=9andproducenteqs

我错过了什么吗?


var replaced = finalurl.replace(/and/g, '&').replace(/eq/g, '=');

这应该做的伎俩。 随着g后的/你说你要替换所有出现。


您可以使用带有全局标志的正则表达式

var finalurl = '{$i.tileid}androoftiletypeeq{$i.model}andproducenteq{$i.producent}';
finalurl.replace(/and/g, "&").replace(/eq/g, "=")

如果您的字符串总是包含{...}变量,您可以使用以下内容来避免意外更换变量或请求参数名称

finalurl.replace(/}and/g, "}&").replace(/eq{/g, "={")

尝试这个 :

replaced = finalurl.replace(/and/g, "&").replace(/eq/g, "=");
链接地址: http://www.djcxy.com/p/94025.html

上一篇: replace multiple occurences in a string with javascript

下一篇: MooTools and Array prototype