jquery – 获取url路径?

我知道我可以使用window.location.pathname来返回一个url,但是如何解析url?

我有一个这样的url: http:// localhost / messages / mine / 9889 ,我正在检查该url中是否存在“我的”?

所以,如果“我的”是该url的第二部分,我想写一个if语句基于…

if(second argument == 'mine') { do something } 

 if ( location.pathname.split("/")[2] == "mine" ) { do something } 

虽然检查分组中返回的数组中是否有足够的项目显然会更好:

 var a = location.pathname.split("/"); if ( a.length > 2 && a[2] == "mine" ) { do something } 

请注意,即使数组索引基于零,我们也要指定2作为索引来获取您所引用的第二个参数,因为split将“/ messages / mine / 9889”拆分为4个项目的数组:

 ["", "messages", "mine", "9889"] 

如果jquery是一个选项,您可以执行以下操作:

 $.inArray("mine", window.location.pathname.split("/")) 
 if (window.location.pathname.split("/")[2] == "mine") { // it exists }; 

window.location.pathname是一天结束时的字符串 ,因此通常的字符串方法适用。

即使这是一个非常古老的查询..它会在某些搜索中弹出。 所以在这里添加我的笔记..

 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 

你可以使用string.split(’/’)函数创建一个项目数组来检查,否则有几个jQuery插件解析url例如

http://projects.allmarkedup.com/jquery_url_parser/