2011-07-25 30 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);