2012-01-27 60 views
0

我有這個URL http://www.something.com/categoryjavascript:找到字符串內的字符串的第二個最後的外觀?

top.location.href.substr(0, top.location.href.lastIndexOf("/")); 

回報http://www.something.com

但是,如果我有URL http://www.something.com/category/something我怎麼能再次通過去除 「/」 ...

任何二號最後一個出場檢索http://www.something.com理念?我知道有像top.location.origin這樣的東西。我需要一種方法來削減最後兩個「斜線」!

+0

當下一個URL出現在'www.something.com/category/something/things /'時,那麼是什麼?我相信你的問題是如何獲得沒有路徑的網址。 – TJHeuvel 2012-01-27 15:30:54

+0

'var foo = url.split('/',3).join('/');' – Yoshi 2012-01-27 15:33:23

+0

你想分析一個通用的URL,或者你打算使用window.location對象嗎? – zzzzBov 2012-01-27 15:33:29

回答

1

既然你與location對象,利用工作:

location.protocol + '//' + location.host + '/'; 
// On this page, it shows: http://stackoverflow.com/ 
// Include pathname: 
location.protocol + '//' + location.host + location.pathname + '/'; 

對於自己的解決方案,你可以添加+1的第二個參數:

top.location.href.substr(0, top.location.href.lastIndexOf("/")+1); 
                   ^^ Hi Plus One! 

應對更新的問題(見OP的評論):

var href = top.location.href.replace(/(\/[^\/]+){2}\/?$/, ''); 
+0

@OP - docs是你的朋友=)。 https://developer.mozilla.org/en/DOM/window.location – mrtsherman 2012-01-27 15:34:20

0

而不是倒退哪個c有一個可變數量的索引,爲什麼不前進,你知道只有2個索引?

var url = top.location.href; 
var index1 = url.indexOf('/'); 
var index3 = url.indexOf('/', index1 + 2); 
var final = url.substr(0, index3); 
相關問題