Created
May 25, 2017 06:16
-
-
Save devudit/a417e8ccb402552321b1d184f4cc8a44 to your computer and use it in GitHub Desktop.
How to get Query String using javascript
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
| /** | |
| * @description Below function will return a object of query string variable | |
| **/ | |
| var QueryString = function () { | |
| // This function is anonymous, is executed immediately and | |
| // the return value is assigned to QueryString! | |
| var query_string = {}; | |
| var query = window.location.search.substring(1); | |
| var vars = query.split("&"); | |
| for (var i=0;i<vars.length;i++) { | |
| var pair = vars[i].split("="); | |
| // If first entry with this name | |
| if (typeof query_string[pair[0]] === "undefined") { | |
| query_string[pair[0]] = decodeURIComponent(pair[1]); | |
| // If second entry with this name | |
| } else if (typeof query_string[pair[0]] === "string") { | |
| var arr = [ query_string[pair[0]],decodeURIComponent(pair[1]) ]; | |
| query_string[pair[0]] = arr; | |
| // If third or later entry with this name | |
| } else { | |
| query_string[pair[0]].push(decodeURIComponent(pair[1])); | |
| } | |
| } | |
| return query_string; | |
| }(); | |
| /* | |
| * @description Below function will return parameter by name | |
| * @param name of query strring variable | |
| * @param url having query string | |
| */ | |
| function getParameterByName(name, url) { | |
| if (!url) url = window.location.href; | |
| url = url.toLowerCase(); | |
| name = name.replace(/[\[\]]/g, "\\$&").toLowerCase(); | |
| var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), | |
| results = regex.exec(url); | |
| if (!results) return null; | |
| if (!results[2]) return ''; | |
| return decodeURIComponent(results[2].replace(/\+/g, " ")); | |
| } | |
| /* | |
| * @description Remove query string variable | |
| * @param url having query string | |
| * @param parameter to remove form query string | |
| */ | |
| function removeURLParameter(url, parameter) { | |
| //prefer to use l.search if you have a location/link object | |
| var urlparts= url.split('?'); | |
| if (urlparts.length>=2) { | |
| var prefix= encodeURIComponent(parameter)+'='; | |
| var pars= urlparts[1].split(/[&;]/g); | |
| //reverse iteration as may be destructive | |
| for (var i= pars.length; i-- > 0;) { | |
| //idiom for string.startsWith | |
| if (pars[i].lastIndexOf(prefix, 0) !== -1) { | |
| pars.splice(i, 1); | |
| } | |
| } | |
| url= urlparts[0] + (pars.length > 0 ? '?' + pars.join('&') : ""); | |
| return url; | |
| } else { | |
| return url; | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment