jquery - 获取url路径?

时间:2010-04-19 14:07:34

标签: jquery url parsing

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

我有一个这样的网址:http://localhost/messages/mine/9889而我正在尝试查看该网址中是否存在“我的”?

所以,如果“我的”是该网址的第二部分,我想写一个if语句......

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

5 个答案:

答案 0 :(得分:44)

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个项目的数组: / p>

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

答案 1 :(得分:8)

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

$.inArray("mine", window.location.pathname.split("/"))

答案 2 :(得分:5)

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

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

答案 3 :(得分:1)

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

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

希望这会节省一些时间

答案 4 :(得分:0)

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

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