0

JavaScript の一部の URL 変数を置き換えるのに問題があります。&s=との値を置き換えようとしています&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 に答える