Get URL Querystring Parameters using Javascript

Listing ID : 427
Created on 2007-10-03 at 10:53 AM
Author : Archana Chadha [webmaster@search-scripts.com]

Online URL : http://www.search-scripts.com/scripts/javascript/tips-and-tutorials/get-url-querystring-parameters-using-javascript.html


Most of the server-side programming languages that I know of like PHP, ASP, or JSP give you easy access to parameters in the query string of a URL. Javascript does not give you easy access. With javascript you must write your own function to parse the window.location.href value to get the query string parameters you want. Here is a small function I wrote that will parse the window.location.href value and return the value for the parameter you specify. It does this using javascript's built in regular expressions. This JavaScript function reads a page's GET URL variables and return them. Here is the function:

function gup(name)
{
name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var regexS = "[\\?&]"+name+"=([^&#]*)";
var regex = new RegExp( regexS );
var results = regex.exec( window.location.href );
if( results == null )
return "";
else
return results[1];
}

The way that the function is used is fairly simple. Let's say you have the following URL:

http://www.foo.com/index.html?bob=123&frank=321&tom=213#top

You want to get the value from the frank parameter so you call the javascript function as follows:

var frank_param = gup( 'frank' );

Now if you look at the frank_param variable it contains the number 321. The query string was parsed by the regular expression and the value of the frank parameter was retrieved. The function is smart in a couple of ways. For example, if you have an anchor in your URL like our example URL above does (#top) the gup() function knows to stop before the # character. Also, if a requested parameter doesn't exist in the query string then an empty string is returned instead of a null.

This function has worked very well for my query string parsing needs and should work well for you.

Resource Specifications
Platform(s): Linux,Windows,Mac OSX,Sun Solaris,FreeBS
Database(s) Non
Version: 1
File Size: < 100KB
Date Added: 2007-10-03
Last Updated: 2007-10-03

License Information
License Type: Other Free / Open Source License
Price: 0 USD
Visit: http://www.netlobo.com/url_query_string_javascript.html
Download: http://www.netlobo.com/url_query_string_javascript.html


Back to Original Listing