Created
April 28, 2014 13:45
-
-
Save simkimsia/11372570 to your computer and use it in GitHub Desktop.
able to convert query string like ?q=abc&g[]=1&g[]=2 into a javascript object (params) which has 2 params q & g. The params.q will be 'abc' string while params.g will be an array containing the value 1, 2
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
RegExp.quote = function(str) { | |
return (str+'').replace(/([.?*+^$[\]\\(){}|-])/g, "\\$1"); | |
} | |
function getSearchParameters() { | |
var prmstr = window.location.search.substr(1); | |
return prmstr != null && prmstr != "" ? transformToAssocArray(prmstr) : {}; | |
} | |
function transformToAssocArray( prmstr ) { | |
var params = {}; | |
var newParam = tmparr[0]; | |
var pattern = '[]'; | |
var arrayRegExp = new RegExp(RegExp.quote(pattern), 'g'); | |
if (tmparr[0].match(arrayRegExp)) { | |
newParam = tmparr[0].replace(arrayRegExp, ""); | |
if (typeof params[newParam] == 'undefined') { | |
params[newParam] = new Array(); | |
} | |
params[newParam].push(tmparr[1]); | |
} else { | |
params[tmparr[0]] = tmparr[1]; | |
} | |
} | |
var params = getSearchParameters(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment