我知道我可以使用window.location.pathname來返回一個url,但我該如何解析url?jquery - 獲取url路徑?
我有這樣的網址:http://localhost/messages/mine/9889,我試圖檢查,看看是否「我的」存在於該網址?
所以,如果「地雷」是URL中的第二件,我想寫的,如果基於這樣的語句...
if(second argument == 'mine') { do something }
我知道我可以使用window.location.pathname來返回一個url,但我該如何解析url?jquery - 獲取url路徑?
我有這樣的網址:http://localhost/messages/mine/9889,我試圖檢查,看看是否「我的」存在於該網址?
所以,如果「地雷」是URL中的第二件,我想寫的,如果基於這樣的語句...
if(second argument == 'mine') { do something }
if (location.pathname.split("/")[2] == "mine") { do something }
儘管這顯然是更好地檢查是否有數組中足夠的項目多數民衆贊成由split返回:
var a = location.pathname.split("/");
if (a.length > 2 && a[2] == "mine") { do something }
注意,即使數組索引是從零開始的,我們要指定2作爲指標,讓你參考一下作爲第二個參數爲分屬雙牀「/消息/地雷/ 9889」到4項的數組:
["", "messages", "mine", "9889"]
if (window.location.pathname.split("/")[2] == "mine") {
// it exists
};
window.location.pathname是在一天結束的字符串,所以通常的string methods適用。
您可以使用string.split(「/」)函數來創建項目的數組,檢查,否則有一些解析URL,例如
幾個jQuery插件,如果jQuery是一個選項,你可以做到以下幾點:
$.inArray("mine", window.location.pathname.split("/"))
請注意,這將匹配_any_'我的',而不僅僅是URL的第二部分。 – 2010-04-19 14:16:12
即使這是一個非常古老的查詢..它在一些搜索彈出。所以要加我的筆記..在這裏
url.indexOf('mine') !== -1
以上應當用於檢查發現如果URL有一個字符串...哪裏才能找到路徑,這將是最好使用
var a = document.createElement('a');
a.href = url;
console.log(a.pathname);
// if url='http://localhost/messages/mine/9889'
// output will be /messages/mine/9889
希望這會節省一些時間的人
我真的很喜歡這個簡單。要刪除任何空元素,並有一個很好的路徑數組,請使用: var locationPaths = location.pathname.split(「/」)。filter(function(n){return n!=''});' – jnpWebDeveloper 2016-05-22 19:23:07