2014-01-22 25 views
1

我使用window.location.href獲取當前的完整路徑,例如:獲得一個級別從window.location.href

本地主機:8080/MyApp的/總帳/項/

但我想知道是否有辦法讓這個URL前一級。

本地主機:8080/MyApp的/總帳/

我讀過,我可以排除/項/但我需要的東西,一般這意味着它返回的URL的上一級不知道這個水平,換句話說不知道/項/

+3

http://jsfiddle.net/gRwZF/ – adeneo

+0

如果路徑爲空,您會需要進行邊緣案例處理嗎? – Bergi

回答

0

您可以嘗試

var url="localhost:8080/myapp/ledger/entries/"//or whatever other url 
var indices = []; 
for(var i=0; i<url.length;i++) { 
    if (url[i] === "/") indices.push(i); 
} 
url=url.substring(0,(indices[(indices.length)-2])+1); 
alert(url); 

DEMO

0
var string = "localhost:8080/myapp/ledger/entries/" 
string = string.replace(/([^\/]*\/)$/,""); 

正則解釋說:

/\// 

這將尋找一個斜線。

/(\/)$/ 

這將查找最後的斜線。

/[^\/]*/ 

這將選擇什麼,但一個斜線

/([^\/]*\/)$/ 

以上兩種組合:它會匹配最後一個斜線,並在它前面的所有非斜槓字符。

+1

'/'通常稱爲「斜槓」或「正斜槓」,而不是「反斜槓」。反斜槓是'\'。 –

+0

@BrianS謝謝!在命名事物時我應該更加小心。 – XiozZe

相關問題