Revision history of "Template:JS/ParseUrlQueryString"


This template provides four JavaScript functions for working with URL query strings:

  • getQueryString() -- grabs the entire query string (everything after the "?") from the current page URL, and returns it unmodified as a String.
  • parseQueryString(String queryString) -- accepts a query string (everything after the "?") as input, and parses the parameters into an Object like this: {"color": "blue", "number": "3", "units": "centimeters"}. Note that all keys and values in the returned Object will be Strings, so if you want data of a different type, you will have to use conversion methods such as parseInt().
  • newURLWithQueryString(String oldURL, Object newQSObject) -- creates a new URL out of a string and an Object of key/value pairs. If the old URL had a query string, it is discarded.
  • currentPageButNewQueryString(Object newQSObject) -- is a wrapper around newURLWithQueryString. It uses the current page's URL as oldURL.


These functions do not account for:

  • semicolons used as separators
  • one key having multiple values
  • probably some other edge cases as well


(Also, they may occasionally get confused by MediaWiki's habit of overzealously encoding & as &. Keep an eye out for that.)


To use this template, just include {{JS/QueryStringUtilities}} in your page, and freely use the provided functions.