をあなたがこの文字列で立ち往生し、それをエンコードするために試してみたい場合:
var url = "http://localhost.com/?q=java&industry=\"IT&web\"&location=\"New-york & Florida\"";
1つのオプションは、もちろん、すべての引用された表現(それらが一致すると仮定し、捕獲することです)、それらにencodeURIComponent
を適用します。結果は、引用符を含め、全体のパラメータをエンコード持っている:
url = url.replace(/"[^"]*"/g, encodeURIComponent);
> http://localhost.com/?q=java&industry=%22IT%26web%22&location=%22New-york%20%26%20Florida%22
それは何が必要かどう同様に、あなただけのアンパサンドを置き換えることができます。いずれの場合も
url = url.replace(/"([^"]*)"/g, function(g0){return g0.replace(/&/g, encodeURIComponent);});
> http://localhost.com/?q=java&industry="IT%26web"&location="New-york %26 Florida"
を、これはすでにと衝突しますエスケープ文字を使用しているので、最適な解決策は、URLが作成されているソースで問題を修正することです。
ありがとうございます。 ..うまく働いています.... –