我有一个可分为3个部分的网址,我想要中间的网址。
网址就像这样
http://www.site.com/place?siteurl=的 http://www.thisIsWhatIwant.com/bla/bla/ &安培; XXX
XXX表示网址仍在继续,可能包含很多字符,包括%,括号,其他&符号,等号等...
我想要大胆的内容。换句话说,要摆脱siteurl =(包括等号)上的等号之前的所有内容,并且除去之后的第一个&符号之后的所有内容,包括&符号......所以,在清理之后它只会成为URL:
http://www.thisIsWhatIwant.com/bla/bla/
我如何使用Javascript的str.replace()?
提前致谢
答案 0 :(得分:2)
您可以使用String.match()
提取 想要的文字,而不是删除您不想要的文字:
var s = "http://www.site.com/place?siteurl=http://www.thisIsWhatIwant.com/bla/bla/&XXX";
var middle = s.match(/siteurl\=(.*?)\&/i)[1];
答案 1 :(得分:1)
您不想在此使用String.replace
,请使用String.split
:
if(window.location.search.indexOf('siteurl') > -1) {
var siteurl = window.location.search.split('siteurl=')[1];
siteurl = siteurl.substring(0, siteurl.indexOf('&'));
//do something with siteurl...
} else {
//siteurl is not in the URL.
}