2011-07-25 31 views

回答

4
var url = "http://blah.com" 
var new_url = url.replace(/^http:\/\//, "http://something_") 

/^http:\/\//regular expression,用於匹配的字符串模式的類型的對象。這允許我指定(使用^)如果它僅在字符串的開始處出現,我只想替換https://

如果您知道字符串將以「http://」開頭,那麼您也可以僅使用字符串作爲替換目標,因爲.replace()默認僅替換第一個匹配項。

var new_url = url.replace("http://", "http://something_") 

如果你想要的東西,將與任何協議,HTTP,HTTPS,FTP或其他的工作,你可以使用正則表達式「捕獲」原始字符串的一部分,並使用它的替代品。

var new_url = url.replace(/^([a-zA-Z][a-zA-Z0-9\.\+\-]*):\/\//, "$1://something_") 

一塊打破這個特殊pattenern下來片:

  • ^它必須在字符串的開頭開始
  • (開始 「捕獲」 組
  • [a-zA-Z]匹配任何字母
  • [a-zA-Z0-9\.\+\-]*後跟任何字母,數字,句點,加號或連字符,重複任意數字o f次。
  • )結束捕獲組
  • :\/\/比賽"://"
2

使用Javacript Replace

myString = "http://blah.com"; 
myString.replace("http://", "http://something_"); 
+0

你可能想編輯這個答案:'String'是一個內置的構造函數。 :-) –

1

這一個用HTTP或HTTPS

var url = window.location.href; 
    var i = url.indexOf ('://') + 3; 
    var newUrl = url.substring(0, i) + 'something_' + url.substring (i, url.length); 
    window.location.href = newUrl; 
0

你不需要jQuery的工作。使用split()。

var text = 'something_'; 
var a = "http://blah.com"; 
var b = a.split("http://")[1]; 
var c = "http://"+text+b; 
alert(c);