I am trying to select just what comes after name=
and before the &
in :
"/pages/new?name=J&return_url=/page/new"
So far I have..
^name=(.*?).
I am trying to return in this case, just the J
, but its dynamic so it could very several characters, letters, or numbers.
The end case situation would be allowing myself to do a replace
statement on this dynamic variable found by regex.
/name=([^&]*)/
^
and end with an &
Example:
var str = "/pages/new?name=J&return_url=/page/new"; var matches = str.match(/name=([^&]*)/); alert(matches[1]);
The better way is to break all the params down (Example using current address):
function getParams (str) { var queryString = str || window.location.search || ''; var keyValPairs = []; var params = {}; queryString = queryString.replace(/.*?\?/,""); if (queryString.length) { keyValPairs = queryString.split('&'); for (pairNum in keyValPairs) { var key = keyValPairs[pairNum].split('=')[0]; if (!key.length) continue; if (typeof params[key] === 'undefined') params[key] = []; params[key].push(keyValPairs[pairNum].split('=')[1]); } } return params; } var url = "/pages/new?name=L&return_url=/page/new"; var params = getParams(url); params['name'];
Though still not supported in any version of IE, URLSearchParams provides a native way of retrieving values for other browsers.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With