使用 javascript Regexp 对象替换 url 中的值

Using javascript Regexp object to replace a value in url

本文关键字:url 替换 javascript Regexp 对象 使用      更新时间:2023-09-26
<script type="text/javascript">
var currstr = "?distance=10&city=Boston&criteria=shoes&size=10";
var selcity = "California"; //This can come from a drop down
var pat = new RegExp([NEEDPATTERN],"gi");
currstr.replace(pat,selcity);
</script>

我需要一些帮助将 city=Boston 替换为用户从中选择的值currstr下拉,现在我在变量塞尔西蒂中有硬编码值。我放置了一个 [NEEDPATTERN] 标记,用于实现此目的。

有人可以帮助我解决这种模式吗?

/City=([^&]+)/gi

应该做这个技巧

你是要专门替换"波士顿",还是只需要替换city=X中的X

对于波士顿,你可以使用简单的替换... currstr.replace('Boston', selcity)

要替换X,您可以执行以下操作: currstr.replace(/city=([^&]+)/, selcity);

如果可能的话,与其替换,不如完全离开城市,最后把它贴上去。然后,如果您考虑以下实体,则不必处理正则表达式,这可能比当前答案更复杂&amp;

<script type="text/javascript">
 var currstr = "?distance=10&criteria=shoes&size=10";
 var selcity = "California"; //This can come from a drop down
 currstr += "&city=" + encodeURIComponent(selcity);
</script>