2012-12-24 122 views
0

如果我有以下幾點:保存部分頁面加載

example.com/test1 
example.com/test1/ 
example.com/photo/test1 
example.com/photo/category/test1/ 

(你明白了吧)

我如何結束了測試1作爲一個變量在jQuery中加載?

window.location.pathname給我的整個/照片/分類/測試1 /不僅test1的您的時間

非常感謝,並幫助

回答

0

下面是將提取最後的路徑元素的功能:

function getLastSegmentOfPath(url) { 
    var matches = url.match(/\/([^\/]+)\/?$/); 
    if (matches) { 
     return matches[1]; 
    } 
    return null; 
} 

var endPath = getLastSegmentOfPath(window.location.href); 

工作測試用例和演示:http://jsfiddle.net/jfriend00/9GXSZ/

正則表達式是這樣的:

\/ match a forward slash 
() separately capture what is in the parens so we can extract just that part of the match 
[^\/]+ match one or more chars that is not a slash 
\/?$ match an optional forward slash followed the the end of the string 

在正則表達式的結果(這是一個陣列):

matches[0] is everything that matches the regex 
matches[1] is what is in the first parenthesized group (what we're after here) 
+0

非常感謝您! – Gab

0

我想類似下面的工作,如果你想找到最後路徑名的一部分:

var path = window.location.pathname.split('/'); 
path = path.filter(function(x){return x!='';}); 
var last_path = path[path.length - 1] 
0
var parts = "example.com/photo/category/test1/".split('/') 
var url = parts[parts.length - 1] ? parts[parts.length - 1] : parts[parts.length - 2]; 

(該?:採取的最後/護理)

0

你可以使用JavaScript的lastIndexOfsubstr功能:

var url = window.location.pathname; 
var index = url.lastIndexOf("/"); 
var lastbit = url.substr(index); 

這GET的網址,找到了最後/的位置,而這現在的位置之後返回的每一件事情。

編輯(見註釋): 要排除尾隨斜槓(如:類/測試/),以及第一個斜槓使用:

var url = window.location.pathname; 
var index = url.lastIndexOf("/"); 
var lastbit = url.substr(index); 
if (lastbit == "/"){ 
    url = url.slice(0, - 1); 
    index = url.lastIndexOf("/"); 
    lastbit = url.substr(index); 
} 
lastbit = lastbit.substring(1); 
+0

不處理尾部斜線的變化。 – jfriend00

+0

給我/ test1 – Gab

+0

@ jfriend00你可以檢查lastbit變量是否爲NULL,如果是這樣,請從url變量中刪除最後一個字符並重復 –