I am trying to get a url value using javascript, so far I can only get pure numbers, not mixed numbers with letters or just letters. I can\'t find any working examples of a
Your approach should work. Here's my version for comparison:
var o = {
keys: [ ],
values: [ ]
}
/*
You could just use the window#location#search value to get the query sub-String of the currently loaded URL
var q = window.location.search.substring(1) ;
For now we'll use a query String from a Google search for "MDN window location"
*/
q = "q=mdn+window+location&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:de:official&client=firefox-a"
for( var i = 0 , a = q.split("&"), p ; i < a.length ; i++ ) {
p = a[i] ;
if( ( b = p.split("=") ) != null ) {
o.keys[i] = b[0] ;
o.values[i] = b[1] ;
}
}
console.log("(!!) o: " + o.toSource( ) ) ;
I use this function, and it rocks. I don't remember from where I took it, but it's a good one:
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];
}
If you have a URL like http://www.exmaple.com/path?p1=lkjsd234&p2=klsjd987
, you can use:
alert(gup('p1')); // shows 'lkjsd234';
Here is a condensed version of two of the answers above :
function gup (name) {
name = RegExp ('[?&]' + name.replace (/([[\]])/, '\\$1') + '=([^&#]*)');
return (window.location.href.match (name) || ['', ''])[1];
}
Easier to type, easier on processing and, IMHO easier to read. YMMV
Your code looks like it should work I use the function below if it helps
function getParam(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];
}
var first = getParam("test");