0

我无法在 javascript 中替换一些 url 变量。我正在尝试替换&s=and的值&so=。下面是我的代码:

url = url.replace(/(s=).*?(&)/, '$1' + $("#sort_by").val() + '$2');
url = url.replace(/(so=).*?(&)/, '$1' + $("#sort_ord").val() + '$2');

第一次替换没有问题,s值总是被替换,但so变量似乎永远不会被替换。

4

1 回答 1

1

将您的代码更改为:

url = url.replace(/(s=)[^&]*/, '$1' + $("#sort_by").val());
url = url.replace(/(so=)[^&]*/, '$1' + $("#sort_ord").val());

这应该适用于大多数 URL(但不是 RFC 允许的所有 URL)。这利用了&主要用于在 URL 的查询字符串中分隔键值对的事实。

于 2012-07-16T06:19:32.993 回答