jquery - get url path?

后端 未结 5 499
谎友^
谎友^ 2020-12-08 15:37

I know I can use window.location.pathname to return a url, but how do I parse the url?

I have a url like this: http://localhost/messages/mine/9889 and I\'m trying to

相关标签:
5条回答
  • 2020-12-08 16:18
    if (window.location.pathname.split("/")[2] == "mine") {
      // it exists
    };
    

    window.location.pathname is a string at the end of the day, so the usual string methods apply.

    0 讨论(0)
  • 2020-12-08 16:19
    if ( location.pathname.split("/")[2] == "mine" ) { do something }
    

    Although it would obviously be better to check whether there are enough items in the array that's returned by split:

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

    Note that even though array indexes are zero based, we want to specify 2 as the index to get what you refer to as the 2nd argument as split splits "/messages/mine/9889" into an array of 4 items:

    ["", "messages", "mine", "9889"]
    
    0 讨论(0)
  • 2020-12-08 16:22

    if jquery is an option, you could do the following:

    $.inArray("mine", window.location.pathname.split("/"))
    
    0 讨论(0)
  • 2020-12-08 16:23

    Even though this is a very old query.. it pops up in some search. So to add my notes.. over here

    url.indexOf('mine') !== -1 
    

    The above should be used for the check to find if url has a string... where as to find the path, it would be better off to use

    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

    hope this will save some ones time

    0 讨论(0)
  • 2020-12-08 16:33

    You could use the string.split('/') function to create an array of items to check otherwise there are several jQuery plugins that parse the url eg

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

    0 讨论(0)
提交回复
热议问题