Using location.search to locate a parameter's value
location.search
will return all after question mark including it. So there is universal js to get value of the first parameter (even if url has more parameters):
var desire = location.search.slice(1).split("&")[0].split("=")[1]
Example: let's take url http://example.com?name=jon&country=us
location.search
will be equal to?name=jon&country=us
.slice(1)
skips the?
, returning the rest of the string..split("&")[0]
splits it into two strings (name=jon
andcountry=us
) and takes first one.split("=")[1]
splitsname=jon
intoname
andjon
and takes the second one. Done!
let url = new URL('www.examplesite.com?yourname=gilgilad');
let searchParams = new URLSearchParams(url.search);
console.log(searchParams.get('yourname'));
you can consider also to user window.location
or window.location.search
directly
let searchParams = new URLSearchParams(window.location.search);
console.log(searchParams.get('yourname'));
A more generic solution to split the location.search query parameters and convert them into an object:
var a = location.search.split("&");
var o = a.reduce(function(o, v) {
var kv = v.split("=");
kv[0] = kv[0].replace("?", "");
o[kv[0]] = kv[1];
return o;
},
{});