2011-08-05 6 views
0

私は次のURLを持っていると言います。jqueryはURLの一部を削除します

ご覧のとおり、2つ目の言語レイヤーだけを削除したいURLに2つの言語レイヤーがあります。だから私はこのようなURLを期待しています。

http://www.domain.com/en-US/assortment/category/page.aspx?sub=GROUP7 

私は技術的な制限のため、URLを変更する方法はありません。これはjQueryやJavascriptで実現できますか?はいの場合、どうですか?

答えて

2
'your url here...'.replace('/assortment/en-US/category/', '/assortment/category/'); 
+0

時にはそれはとても簡単です。私がしなければならなかったことは、少しだけ具体的にチェックすることでした。ありがとう! – Rob

+0

シンプルだが効果的;) –

1

JavaScript replaceの機能をご覧ください。 - 私は数分でそれをクリーンアップするよ、私は本当にこのクリーナーを作るために時間がかかることはありませんでした

var url= "http://www.domain.com/en-US/assortment/en-US/category/page.aspx?sub=GROUP7"; 

var index = url.lastIndexOf('en-US'); //get last index of language 
var substr = url.substr(index);  //get substring of the tail 
var newsubstr = substr.replace('en-US',''); //use replace to get rid of second lang 
var newurl = url.substr(0,index-1); //first part of the url 
var cleanurl = newurl + newsubstr; //concatenate it 
alert(cleanurl); 

まあ、Replace関数を使用して、あなたはこのような醜い何かを行うことができます。

+0

すでに試しましたが、うまくいかないようです。これはen-USの最初の出現を置き換えます。そして、私は最初のものではなく、2番目のオカレンスを置き換えたいと思います。 – Rob

0

言語コードを参照しているので、汎用言語コードをキャッチして複製を置き換えるためのjavascriptコードを作成します。

これは簡単に正規表現で行うことができます。これをチェックしてください

url = "http://www.domain.com/en-US/assortment/en-US/category/page.aspx?sub=GROUP7" 

//define regular expression to catch /en-US block 
// '/' in front of the language code is also catch in this regular expression 
rxp = /(\/[\w]{2}(-[\w]{2})?)/ 

//split by regular expression 
ary = url.split(rxp) 

//set the fourth eliment to "" the 4th eliment is the second '/en-US' 
ary[3] = "" 

//join array with "" to have the prepare the string 
url_new = ary.join("") 

結合メソッド内のパラメータは必須です。

これは、現在使用されているほとんどの言語コードで機能します。

関連する問題