JAVASCRIPT
Parse URL Query Parameters with Regex
Discover how to efficiently extract and organize all query parameters (key-value pairs) from any given URL string into a structured JavaScript object using Regex.
function parseQueryParams(url) {
const params = {};
const queryStringMatch = url.match(/\?([^#]*)/); // Get everything after '?' and before '#'
if (queryStringMatch && queryStringMatch[1]) {
const queryString = queryStringMatch[1];
const paramPairs = queryString.split('&');
paramPairs.forEach(pair => {
const parts = pair.split('=');
if (parts.length === 2) {
const key = decodeURIComponent(parts[0]);
const value = decodeURIComponent(parts[1]);
params[key] = value;
}
});
}
return params;
}
const url = "https://example.com/search?q=regex+patterns&page=2&sort=date#results";
const queryParams = parseQueryParams(url);
console.log(queryParams);
// Expected Output: { q: 'regex patterns', page: '2', sort: 'date' }
How it works: This JavaScript function extracts query parameters from a URL. It first uses a regex `/\?([^#]*)/` to capture the entire query string (the part after `?` and before `#`). Then, it splits this string by `&` to get individual key-value pairs, which are further split by `=` . `decodeURIComponent` is used to correctly handle URL-encoded characters, populating a JavaScript object with the extracted parameters.