2015-01-27 41 views
0

我知道這是一個超級簡單的問題,但我似乎無法包裝我的頭。我有一堆網址在不同的語言,如:查找並替換正則表達式JavaScript

www.myurl.com?lang=spa

www.myurl.com?lang=deu

www.myurl.com? lang = por

我需要創建按鈕來快速從任何語言擴展名(spa,por,deu,rus,ukr等)切換到另一種語言。我到目前爲止有以下代碼:

var url = window.location.toString(); 
window.location = url.replace(/lang=xxx/, 'lang=deu'); 

我只是無法弄清楚3個字符的通配符。我知道我需要做某種正則表達式或某種東西,我只是不確定如何去做。任何幫助?

在此先感謝

+0

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions – 2015-01-27 00:11:55

回答

1

嘗試....{3}\w{3}甚至[a-z]{3},這取決於你想具體怎麼是。

var s = 'www.myurl.com?lang=spa'; 
s.replace(/lang=[a-z]{3}/, 'lang=deu'); 
// => "www.myurl.com?lang=deu" 

這裏是上面的例子中的一個railroad diagram

enter image description here

1

您可以使用

([&?]lang=)\w+ 

這將像www.myurl.com?foo=bar&lang=por&bar=foo太網址。

而不是lang=deu,你將不得不用$1deu來代替。