Treehouse: Grow your CSS skills. Land your dream job.

Last updated on:

Get URL and URL Parts in JavaScript

JavaScript can access the current URL in parts. For this URL:

  • window.location.protocol = "http:"
  • = ""
  • window.location.pathname = "example/index.html"

So to get the full URL path in JavaScript:

var newURL = window.location.protocol + "//" + + "/" + window.location.pathname;

If you need to breath up the pathname, for example a URL like, you can split the string on "/" characters

var pathArray = window.location.pathname.split( '/' );

Then access the different parts by the parts of the array, like

var secondLevelLocation = pathArray[0];

To put that pathname back together, you can stitch together the array and put the "/"'s back in:

var newPathname = "";
for (i = 0; i < pathArray.length; i++) {
  newPathname += "/";
  newPathname += pathArray[i];


  1. Really cool! Thanks!

    • svs teja
      Permalink to comment#

      Is there any way to extract the urls in search engine when user enters a key word in search engine by using java script….
      if yes plz mail me or send me a message to 9492936947

  2. Just to mention that there was a small error:

    var newURL = window.location.protocol + "//" + + "/" + window.location.pathname;

    Should have been:

    var newURL = window.location.protocol + "://" + + "/" + window.location.pathname;

    • Thanks Ben, fixed that.

    • CIDIC
      Permalink to comment#

      Just testing in ff 3.6.10 and window.location.protocol = “http:” so the is the original code (var newURL = window.location.protocol + “//” + + “/” + window.location.pathname;) correct ?

    • kalidass
      Permalink to comment#

      is it possible context path…? i hope its not in browser script
      core is my context path.
      It ll be change in feature

    • Permalink to comment#


      I am getting two colons while using

      var newURL = window.location.protocol + "://" + + "/" + window.location.pathname;

      working fine with

      var newURL = window.location.protocol + "//" + + "/" + window.location.pathname;
    • Chris22

      @Chris, you are still missing the colon before the forward slashes in your code: "://"

  3. Permalink to comment#

    I will some day become like you guy, who knows maybe even bettter.

  4. Chris
    Permalink to comment#

    I have a problem in webtrends reporting where the URL of the page isn’t showing up.

    The URL below is a pop-up box containing a form, but the current tracking is only capturing up to the ‘?’ and so in the reporting the page name is being displayed as ‘/’ – which of course, is not correct.

    The URL is in the format

    Is there a way to extract the parameters at the end of this URL?



  5. Permalink to comment#

    How DOES the computer know location.pathname? Can it be a filename.location.pathname instead of window.location.pathname? It is strictly for commercial purposes.

  6. David
    Permalink to comment#

    I fix the “:” error

    window.location.protocol.replace(/\:/g, ”) + “://” +

    ie and firefox not send protocol in the same way

  7. kougi
    Permalink to comment#

    hi chris l would like to know how l can get the full url from ” a”(hyperlink) on click and use it with .load javascript . becaus l want to load it in a div thanks

  8. sre
    Permalink to comment#


  9. Reza Baiat
    Permalink to comment#

    var fullUrl = window.location.pathname +;

    get url with parameters

  10. Luke
    Permalink to comment#

    How to grab the page URL when submitting enquiry form

    I’m a newbie who’s stuck trying implement something like this form a web form

    Can someone please provide an example of how this could be done?


  11. Christoph Neymeyr
    Permalink to comment#

    Hi there,

    this is not working very well if you send a querystring like “?test=abc/def” to the splitting function. How to avoid that?


  12. use ‘document.URL’ for getting the full path of the current web page.

  13. Looks like you’re missing the query/search parameters and the hash. This will get you those. :)

    var newURL = window.location.protocol + “://” + + “/” + window.location.pathname + + window.location.hash;

  14. Kevin
    Permalink to comment#

    Thanks for the post, found the info I was looking for.

    In the code for putting it back together: don’t forget the < in the for declaration:

    var newPathname = "";
    for ( i = 0; i < pathArray.length; i++ ) {
      newPathname += "/";
      newPathname += pathArray[i];

    And to shorten this up, you could just do this:

     var newPathname = pathArray.join("/");
  15. Frank
    Permalink to comment#

    Hi guys,

    I’m an uber-newbie. Would this js be useful for capturing the URL a user typed in and then sending them to an appropriate style sheet based on that URL?

    Thanks – any comments/direction would be awesome..

  16. Vman
    Permalink to comment#

    to access array from right to left:


  17. Um, this is AWESOME.. thanks Chris.

    I think you had it right the first time…

    When I use your FULL URL code, I get:

    Double : and double /

    Is it a browser thing (using Chrome)?

    Anyway, thanks!

    • Keep it simple stupid, lol.

      window.location.protocol + "//" + ( + "/" + window.location.pathname).replace('//', '/');
  18. Ryan
    Permalink to comment#

    Essentially what I’m trying to do is a video setup, where my url would be

    [video src="" /]

    and I want to just grab mp4:Video2.mp4 as a variable to use in javascript.
    This URL will always be the same (besides after the = symbol) so would my code end up being something like this?

    var pathArray = window.location.pathname.split('=');
    var VideoFile = pathArray[1];
  19. I think that most browsers return window.location.pathname with a slash in front as that is what they are supposed to do by W3C spec.

    It would be best to update the “var newURL” example to check for existing slash rather than adding it in right away.


  20. william malo

    you can just use “location” ex.

    var newURL = location

  21. Thanks for the Information :D

  22. Sandra

    Hello, I need to do something very similiar. If anyone could help please.

    I need a script that will extract the subdomain and add it to a new domain name to create a url that will open in a new window when clicked on.

    So From This:

    To This:


      Hope Sandra will find a solution with this.

  23. Mannan
    Permalink to comment#



    i want to get #home and #group-text and rest of the div ids in my url in php
    how it will be possible?

  24. Hai there, for Mannan, may be you can try use :

    var url=document.URL.split(‘#’)[1];

    it will return group-text..
    btw, good article.. :D

    my blog

  25. aldotcom
    Permalink to comment#

    Hey pal, thank you for your posting. I need it for my JS project.
    Best regards,

  26. Hi Everyone,

    I guess there is still an error ( well, actually i get one using Safari / Firefox / Chrome on the mac platform):

    The long-hand version should be:

    var newURL = window.location.protocol + '//' + + window.location.pathname
    console.log('New url content  : '  + newURL );

    or even (if I am right in the order) :

    var newURL = window.location.protocol + '//' + + window.location.pathname + + window.location.hash
    console.log('New url content  : '  + newURL );

    For the short-hand versions:
    After testing, they seems to work cross-browsers (..)

    window.location & document.URL

    >Btw I was desperate to find a solution to my problem (getting a [object object] instead of an URL ;p ), and I think now I can dig it deeper & debug it out (at least)

    I rarely post , but I sure follow ;p

    So thanks again Chris, and all the others for the info(s)

  27. Syedur
    Permalink to comment#

    This much helpful for me. Thanks

  28. Wills Bithrey
    Permalink to comment#

    Really useful quick reference Chris, thanks!

    Would it be worth adding and window.location.port in there too :)?

  29. WebGyver
    Permalink to comment#

    Might want to add a < or some kind of operator into that for loop:

    for ( i = 0; i pathArray.length; i++ ) {


  30. Albert Renshaw
    Permalink to comment#

    var newURL = window.location.protocol + “://” + + “/” + window.location.pathname + “?” + + window.location.hash;

    This is the full URL, it handles php events (something.php?blah=blah) and also breaks(Hashes) (like YouTube uses to detect your location in a video) (Thats an example, I don’t think that’s how they actually do it off the top of my head but I do know they use pound signs haha)

    • Albert Renshaw
      Permalink to comment#

      Some comments above could be added to! I completely forgot about window.location.port! Nice!

  31. ddlab
    Permalink to comment#

    this should work on all browsers
    (changes url from .html to .php, including double : fix)

    var newurl = window.location.protocol.replace(/\:/g,'') + "://" + + window.location.pathname.replace(/html/g,'php');

    • ddlab
      Permalink to comment#

      sorry, mixed syntax, better like this

      var newurl = window.location.protocol.replace(/\:/g,'') + '://' + + window.location.pathname.replace(/html/g,'php');

  32. Mickours
    Permalink to comment#

    You forgot to the comparison term in the for loop…
    Thanks for your post anyway ^^

  33. Permalink to comment#

    Love U Chris…

  34. Permalink to comment#

    Thanks for this post, as it was very helpful. I have a question in regards to parsing out everything after the “/” in the domain. Example if I have this domain Is there a way to parse out the US20120211565 using a similar script???

    Thanks for you assistance in advanced

    • NaBr0
      Permalink to comment#

      var pathArray = window.location.pathname.split( '/' );
      //["", "patents", "US20120211565"]


    • Permalink to comment#

      Using the pop method for your array would get the end if you don’t want to have to specify the index and you know it is the everything after the last ‘/’ that you want to get.


      Notice on pages like this one, it ends in a ‘/’ so there is nothing after the last ‘/’
      Maybe you have a url already stored in a variabled called myURL. Then you could do something like

      var myURL = '';
      var myURLArray = myURL.split('/');
      var lastChunk = '';
      while (myURLArray.length > 0 && lastChunk == '') {
        //put the last element of myURLArray into the variable lastChunk
        lastChunk = myURLArray.pop();
      console.log(lastChunk); // US20120211565
  35. Permalink to comment#

    Thank you Milo! I have an additional question hopefully you can assist. Essentially what I’m doing is this: I have about 700+ QR codes… each code has a link to a specific Patent (the google patents url provided above). I’m writing a program that when the QR code is scanned you will be directed to the patent in the same page you scanned from using an iframe (so you can continuously scan without exiting that page). The issue is Google doesn’t allow any of their pages to be embedded iframes. The solution, I’ve downloaded all the patent PDFs and renamed each to match the associated QR patent URL. When scanned, I want to take the URL and parse out the patent # and replace it with the PDF. (Hope that makes sense)

    Question: Because I will be pulling multiple patent #’s, does the code you provided above still apply? Or will this code need to be tweaked???

    Thanks for your assistance!

  36. Permalink to comment#

    yes you can access iframes from parent document or parent document from within an iframe. look at window object or google acessing frames or parent doc from inside frame. then just do something like window.location.href = lastChunk + ‘.pdf’ or whatever path the pdfs live in

    • Permalink to comment#

      Thanks again… I was able to figure it out. This is what I did:

      var tokenString     = data.split('/');
      var filename        = tokenString[tokenString.length - 1];
      var MainURL    = '' + filename + '.pdf';
      document.getElementById('MainURLtextarea').innerHTML = MainURL;
      document.getElementById("MainURLtextarea").innerHTML = '';

      Again… I appreciate your assistance… helped me find a solution!

  37. John Doe
    Permalink to comment#

    Hey Chris Coyier, Ben Chapman is wrong, or browsers have changed since then. There shouldn’t be an added colon.

  38. Ernesto
    Permalink to comment#

    Hi Chris,

    Is there a way to use that code to grab part of a Dynamic URL string and insert into a tracking code so I can track where leads and conversions came from?

    It would need to go in the html code here where the value= would be what is dynamic.

    And the URL string would be and the [csid] would be the variable that changes depending on where the traffic came from

    such as becomes

    and the is what would be needed to be inserted into the value= part

    Any help would be appreciated.

    • Ernesto
      Permalink to comment#

      Just noticed when I inserted the code, it disappeared from my comment. the html code it would have to be inserted into would look like this “input type=”hidden” name=”TrackerName” value=”test/” ”

      Let me see if this gets through

  39. This function should be help specially when we use a local server:

    function getBaseURL() {
    var url = location.href; // entire url including querystring - also: window.location.href;
    var baseURL = url.substring(0, url.indexOf('/', 14));
    if (baseURL.indexOf('http://localhost') != -1) {
    // Base Url for localhost
    var url = location.href; // window.location.href;
    var pathname = location.pathname; // window.location.pathname;
    var index1 = url.indexOf(pathname);
    var index2 = url.indexOf("/", index1 + 1);
    var baseLocalUrl = url.substr(0, index2);

    return baseLocalUrl + "/";
    else {
    // Root Url for domain name
    return baseURL + "/";


  40. Maybe something like this can be handy ….
    getUrlBase = function () {
    return location.protocol.split(‘:’)[0] + ‘://’ + + ‘/';
    getUrlPart = function (idx) {
    var parts = location.href.substring(getUrlBase().length).split(‘/’);
    return (parts.length >= idx && idx > 0) ? parts[idx – 1] : ”;
    getUrlBase(); // will give you “” on below url
    getUrlPart(2); // will give you “javascript” on below url
    url: “”

  41. I use the following function to get the url parameters in an array form:

    function getUrlVars() {
        var vars = [], hash;
        var decodedUrl = decodeURIComponent(window.location.href);
        var hashes = decodedUrl.slice(decodedUrl.indexOf('?') + 1).split('&');
        for(var i = 0; i < hashes.length; i++) {
            hash = hashes[i].split('=');
            vars[hash[0]] = hash[1];
        return vars;

    Dot notation


    Square bracket notation



  42. Charles

    In my case I used like that for extract last name with out .html.

    Great Thanks for posting……….

  43. Charles

    var pathArray = window.location.pathname.split( ‘/’ );


  44. Noah
    Permalink to comment#

    The pathname worked awesome when I needed to find the name of the file I was viewing (index.htm) when it wasn’t in the url.

  45. Ashutosh Kumar
    Permalink to comment#

    how we remove the spaces from url plzz suggest..thanks in advance

  46. Harish
    Permalink to comment#

    How to get URL Name i mean suppose if url is
    I need url name is (GOOGLE).Please any one help in this

  47. PellePenna
    Permalink to comment#

    Harish, I do it like this when needed:

    function endsWith(str, suffix) {
        return str.indexOf(suffix, str.length - suffix.length) !== -1;
    var urlDomainName;
    var hostArray = '.' );
    if (hostArray.length < 3) {
        urlDomainName = hostArray[0];
    } else {
        //now it gets more complicated, because a host 
        //can look like this:
        //  -
        //  -
        //  -
        //  -
        //  -
        //which means that you need to put all top 
        //domains in an array and loop through
        //them, or use a regex
        var host =;
        var topdomains = ["","",...,"net","com",...]
        var length = topdomains.length;
        for (var i = 0; i < length; i++) {
            if (endsWith(host,topdomains[i])) {
                urlDomainName = topdomains[i];
    • PellePenna
      Permalink to comment#

      Ooops … something went wrong on host variants … obviously a “http://” were added to hosts starting with “www”

  48. PellePenna
    Permalink to comment#

    And of course this is how the for-loop should be:

    for (var i = 0; i < length; i++) {
        if (endsWith(host,topdomains[i])) {
            var topArray = topdomains[i].Split( '.' );
            urlDomainName = hostArray[hostArray.length - topArray.length - 1];
  49. Harish
    Permalink to comment#

    Hi Pelle,
    Thanks for ur response But we cant put all domains in array why becoz now a days somany domains are avaialable.I mean suppose 1000 domains are there means we cant put thousand in array right.

    • PellePenna
      Permalink to comment#

      Hi Harish,

      There aren’t 1000’s of top level domains, there are about 300 and this is the only way to detect the domain name in the way you asked for.

      After a quick googling I found, where you will find a list of them and more info how to use the list.

      You will also find libraries you can use to parse and find the top level domain, but it’s still a list that your host name needs to be compared against.

  50. Permalink to comment#

    Thanks for putting this information. pathname was what I was looking for.

  51. Simply but SOOOOO useful. Thank you for posting.

  52. Bee
    Permalink to comment#

    I need HTML Help: this is a simple search box but i need it to do this

    Heres the original url:

    Heres the url when i type : test1 in the search box:

    Heres what i NEED it to look like when you type : test1 into the search box:

    cant figure out how to use the #replace# feature

    <td class="pastissues" width="160">
    <form action="" method="get">
    <b>Search for:</b>
    <div align="center">
    <input size="10" name="q" type="text" style="font-family:arial,helvetica,sans-serif; font-weight:bold; font-size:12px;">&nbsp;&nbsp;<input type="submit" value=" Go ">
    • PellePenna
      Permalink to comment#

      You add a name to the form and an onsubmit event, where you catch and do your stuff.

      <td class="pastissues" width="160">
      <form action="" method="get" name="frmsearch" onsubmit="do_frmsearch()">
      <b>Search for:</b>
      <div align="center">
      <input size="10" name="q" type="text" style="font-family:arial,helvetica,sans-serif; font-weight:bold; font-size:12px;">&nbsp;&nbsp;<input type="submit" value=" Go ">
      function do_frmsearch(e) {
        //prevent form submit
        e = e || window.event;
        if (e.preventDefault)
          e.returnValue = false;
        //you want to get rid of "?q=test", use location.href
        location.href = document.forms["frmsearch"].action + document.forms["frmsearch"]["q"].value + '.php';  

      If you still want to submit the form, change form method from “get” to “post” to get rid of “?q=test” in the url and use this script instead of above

      function do_frmsearch(e) {
        document.forms["frmsearch"].action += document.forms["frmsearch"]["q"].value + '.php';
  53. Bee
    Permalink to comment#

    thanks :) after hours-got it working

  54. Raman
    Permalink to comment#

    I have a requirement as follows: we have two application one in English and other in chinese.
    Ex: home pages: ‘’
    Press release pages: ‘’

    Now when i select EN(language option on header) on chinese press page( ‘’) this link take me to English home page. i should make this to redirect EN pressrelease page directly.
    Am trying this with below solution. sample logic:
    function chooseLang()

    var currURl= window.location.href;
    var urlArray= window.location.pathname.split( ‘/’ );
    var isCHorEN = urlArray[0];
    if (isCHorEN ==’ch’)
    else if(isCHorEN ==’en’)


    Could someone provide code snippet on this. Thanks in advance.

    • Permalink to comment#

      window.location.pathname includes the first forward slash so “/ch/home/pressreleases/index.html” in your example so you’ll want index at 1, not 0 to get “ch” or “en”

      A better solution for your problem might just be to change location with a String.replace() call

      so window.location.href=window.location.href.replace(“/ch/”, “/en/”) if they choose english from chinese,
      window.location.href=window.location.href.replace(“/en/”, “/ch/”) if they choose chinese from english,
      and nothing if they choose the same language they are currently on.

  55. PellePenna
    Permalink to comment#

    Merry Christmas every one … :)

    function chooseLang(e) {
        var pathName = window.location.pathname;
        //trim any leading slash
        var pathArray = (pathName.substring(0,1) == '/') ? 
                         pathName.substring(1).split('/') : 
        //toggle lang
        if (pathArray[0] == 'cn')
            pathArray[0] = 'en';
            pathArray[0] = 'cn';
        //load page
        window.location.href = window.location.protocol + '//' + 
                      + '/' + 
        //you might need to cancel default event as well
        e = e || window.event;
        if (e.stopPropagation) e.stopPropagation();
        if (e.preventDefault) e.preventDefault();
        e.returnValue = false;
        return false;
  56. Mohamed Ali Bouhoum
    Permalink to comment#

    I was looking around and probably I wasn’t looking right …
    Anyway I’m trying something (even it’s been already made) but used it with PHP (sending par with urls …) so got something like this index.php?size=500×500 , but i’m wondering if there’s any JS way to make it index.php/500×500 only and even if you change the par in the link can work …

    Thank you for help :)

  57. Permalink to comment#

    simply but so useful. thank you for posting

  58. Permalink to comment#

    You may add the file name trick:
    This is cool to customize nav box’s link to current page by adding a class with enlighting styles.
    $(‘.menu a’).each(function() {
    if ($(this).attr(‘href’) == location.href.split(“/”).slice(-1)){ $(this).addClass(‘curent_page’); }

  59. But alas

    window.location.protocol = “http” (on line 3 in the article) is incorrect, you get the colon too: window.location.protocol = “http:” (this is as of Chrome 34 and Firefox 29).

  60. vilas

    Sir, i want dynamically get URL of all open browser & write the URL in text files.. so plz provide the script or source code in jsp…
    i hope reply….

  61. Fawad Akhtar

    that is exactly i was searching for, you are awesome “Chris Coyier”

  62. Siva krishna

    I wanted to retrieve the url from current working browser in my system by using java program.So what i have to do suggest me….plz

  63. I’ve been searching for a way to add certain domains to a sites header (eg ->
    var varurl = “”;
    var shortem = [‘’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘’, ];


    So every domain you enter in here (I borrowed this from a site that uses this method, however after days of trial and error & resarch I’m at my wits end (JS & PHP are not my strong suits – this will be uploaded to a WordPress installations directory hopefully as a get.php file that acts like-:
    a page with a button on it ‘Continue to Link’ so this can be used as a way for users to have an interim page inbetween for affiliate banners/advertising.

    It’s basically a Redirection Script, with an interim page inbetween. I wanted to put a captcha.php?link=hdhGHSOOEDjkkOOPSPSPnnAwKLd type situation in there, that the captcha had to be filled before being directed to the get.php page though this seem like alot of work for whoever is willing to give me the get.php code needed (and another page perhaps?) for this to work!

    This is from a site called Linkguard, however it was recently just apart of a WordPress Site & worked in-house until the Author decided to move it off to it’s own site to let other’s use it – however this is not my goal. Aslong as it works on domain(s) I can put the code into manually (as above – or similar) & can easily upload a .php file to wordpress, or any site for that matter where links are directed through this if they sport the domain name required.

    WOW! What a long post, it came off way more complex in writing it out, then it looks from the source codes I could make heads or tales of…

    I have searched google numerous times and there is nothing quiet like this, that I can find anyhow. I have stumbled across something similar I could have worked with years ago, but it is now lost in the interwebs somewhere – and was high up on the keywords for this, and it looks like there are Codes Above ^^ that are getting pretty darn close.

    Cheers to anyone that has the patience to help me out here. And well anyone that has read this far LOL.


    • Oops I ruined the code block, I have this trouble on forrst too. Argh!

      script language="javascript" type="text/javascript"
      var varurl = "";
      var shortem = ['', '', '', '', '',       '', '', '', '', '', '',    '', '', ];
      script type="text/javascript" src="" /script

      I could not put the on each side of the JS script tags for some reason…

      Thanks Again Guys & Chris!

  64. melody
    Permalink to comment#

    how do i detect if it’s not on a subpage? shouldn’t something like
    if (window.location.pathname == false) work? i want to make code that detects if you are on the home page, then sends you to a subpage, but if you are on a subpage, it won’t redirect.

    • PellePenna
      Permalink to comment#

      It should be something like:

      if  (window.location.pathname == 'your_home_page_path') {
          //send to some subpage
          window.location.href = 'sub_page_path';
    • melody
      Permalink to comment#

      yeah i got it working! the problem was, i couldn’t figure out what “pathname” was returning when you weren’t on a subpage. (my homepage is not on a subpage) apparently it returns “/” so i did:

      var pathname = window.location.pathname;
      if (pathname == '/')
      window.location.pathname = "/tagged/p";

      and now it’s working 100%. now on to the real problem: making it redirect to a different subpage at a different time of day (but again only from the homepage)

    • PellePenna
      Permalink to comment#

      Maybe something like this:

      if  (window.location.pathname == 'your_home_page_path') {
          var d = new Date();
          var h = d.getHours();
          switch (h) {
              case (>=6 && <10):
                  window.location.href = 'sub_page_morning';
              case (>=10 && <14):
                  window.location.href = 'sub_page_lunch';
              case (>=14 && <18):
                  window.location.href = 'sub_page_afternoon';
              case (>=18 && <22):
                  window.location.href = 'sub_page_evening';
                  window.location.href = 'sub_page_sleeping';
    • melody
      Permalink to comment#

      here’s what i’ve settled on, it isn’t doing a redirect loop so im assuming it’s working. i’ll wait until 8 pm since i dont want to change it anymore and tell you if it worked

      var d = new Date() 
      var time = d.getHours()
      var pathname = window.location.pathname;
      if (pathname == '/' && 6 <= time < 20) 
          window.location.pathname = "/tagged/p"
      else if (pathname == "/")
          window.location.pathname= "/tagged/g"
  65. Lioooo
    Permalink to comment#

    Hi Friends .. need your help in this please :)
    I have a page :
    if visited , then redirected to the following page

    Thanks !

  66. Yazin
    Permalink to comment#

    I ended up using the following, which works for full URLs, as well as relative ones:

      base_path_parts = thisScript.attr("src").split('/');
      base_path = "";
      for(i=0;i<base_path_parts.length-1;i++) {
        // The following if fixes the case where we have consecutive '/'
        // like in
          base_path+= base_path_parts[i] + "/";
        } else {
          base_path+= "/";
  67. Mike
    Permalink to comment#

    Use window.location.hostname instead of


    window.location.hostname = =

  68. Permalink to comment#

    Hey thanks for a great post. I have a requirement to extract the ‘&country’ parameter from my URL and putting it at the start of the query string – any ideas?

    • PellePenna
      Permalink to comment#
      // Split the pathname
      var params ='&');
      // Remove first ? if any
      params[0] = params[0].replace('?', '');
      // New pathname
      var newsearchstring = '';
      // Loop params and look for country
      for(i=0;i<params.length-1;i++) {
          var param = params[i].split('=');
          if (param == 'country') {
              // found it, add it first
              newsearchstring = (newsearchstring.length > 0 ? '&' : '?') + params[i] + newsearchstring;
          } else {
              // found other, add it at end
              newsearchstring += (newsearchstring.length > 0 ? '&' : '?') + params[i];
      // Now you got the "newsearchstring" with country first
    • PellePenna
      Permalink to comment#

      Oooops .. made some mistakes in previous comment:

      // Split the search string
      var params ='&');
      // Remove first ? if any
      params[0] = params[0].replace('?', '');
      // New search string
      var newsearchstring = '';
      // Loop params and look for country
      for(i=0;i<params.length-1;i++) {
          var param = params[i].split('=');
          if (param == 'country') {
              // found it, add it first
              newsearchstring = '?' + params[i] + newsearchstring;
          } else {
              // found other, add it at end
              newsearchstring += (newsearchstring.length > 0 ? '&' : '') + params[i];
      // Now you got the "newsearchstring" with country first
  69. Ruby
    Permalink to comment#

    how to get url when system ideal

  70. Milind K.
    Permalink to comment#

    simply but so useful. thank you for posting

  71. Garvan
    Permalink to comment#

    Are there any drawbacks for using window.location.href to get the full location?

  72. Its nice ! But I wanna know how to get the url part after a “=” equal icon !

    I want to redirect to the url(I’m trying to do it) after the equal to icon ! :-D

    Please tell me the answer for this question !

  73. If you are looking to get the root URL ( from any URL, this one line of code will do it for you:

    return window.location.origin?window.location.origin+'/':window.location.protocol+'/''/';

    If you are looking to get the base URL ( from any URL, use these two lines of code:

    var re = new RegExp(/^.*\//);
    return re.exec(window.location.href);

    Further explanation and complete functions to copy/paste here: Javascript: Get base URL or root URL

  74. I have some problem.

    for example, i have this link :

    I want to take “lunch” on my script using “if function”. How I can do it?

    I mean, the main script like this.
    If id=lunch, then do write text on page “enjoy your lunch!”.

    help me please…

  75. hamed
    Permalink to comment#

    if my url is and i want to get only
    without using split

  76. Herman Nz
    Permalink to comment#

    Simple but that’s what I’m looking for. thanks a lot.

  77. Roland
    Permalink to comment#

    Just wanted to say that i like your page a lot. I`m learning CSS and Javascript and you page will come in handy. Thank you.

Leave a Comment

Posting Code

We highly encourage you to post problematic HTML/CSS/JavaScript over on CodePen and include the link in your post. It's much easier to see, understand, and help with when you do that.

Markdown is supported, so you can write inline code like `<div>this</div>` or multiline blocks of code in in triple backtick fences like this:

  function example() {
    element.innerHTML = "<div>code</div>";