How can I get query string values in JavaScript?

Is there a plugin-less way of retrieving query string values via jQuery (or without)?

If so, how? If not, is there a plugin which can do so?

Text Copied From stackoverflow.com
on : Sat, May 23, 2009 Views : 2999802

Accepted Answer

You don't need jQuery for that purpose. You can use just some pure JavaScript:



function getParameterByName(name, url) 
{

  if (!url) url = window.location.href;

  name = name.replace(/[\[\]]/g, \\$&
);

  var regex = new RegExp([?&
] + name + (=([^&
#]*)|&
|#|$)),
 
  results = regex.exec(url);

  if (!results) return null;

  if (!results[2]) return '';

  return decodeURIComponent(results[2].replace(/\+/g,  ));
 

Usage:



// query string: ?foo=lorem&
bar=&
baz var foo = getParameterByName('foo');
 
// lorem var bar = getParameterByName('bar');
 
//  (present with empty value) var baz = getParameterByName('baz');
 
//  (present with no value) var qux = getParameterByName('qux');
 
// null (absent) 


Note: If a parameter is present several times (?foo=lorem&
foo=ipsum
), you will get the first value (lorem). There is no standard about this and usages vary, see for example this question: Authoritative position of duplicate HTTP GET query keys.


This is an update based on the new URLSearchParams specs to achieve the same result more succinctly. See answer titled URLSearchParams below.

Text Copied From stackoverflow.com
on : Sat, May 23, 2009

Ask Question

If you want to ask question you must LogIn or SignUp
Login SignUp

Quick Links

E-Magazines

@

Total Followers
Study Group Created
Study Group Joined
Following Teacher
Following Organization
Blog Articles Added
Questions Asked
Questions Answered
Jobs Posted
Total Members in Group
Questions asked by members
Tasks added in this Group

Please wait..

Ok

Login to Open ESchool OR Create your account    Login   SignUp