UNPKG

tiny-essentials

Version:

Collection of small, essential scripts designed to be used across various projects. These simple utilities are crafted for speed, ease of use, and versatility.

33 lines (30 loc) 1.15 kB
'use strict'; /** * Extracts the value of a specific query parameter from a URL. * * - Supports parameter names with brackets (e.g. `arr[0]`). * - Returns `null` if the parameter is not found. * - Returns an empty string if the parameter exists without a value. * * Examples: * ```js * queryUrlByName('foo', 'http://example.com/?foo=bar'); // "bar" * queryUrlByName('foo', 'http://example.com/?foo='); // "" * queryUrlByName('foo', 'http://example.com/'); // null * queryUrlByName('arr[0]', 'http://x.com/?arr[0]=yes'); // "yes" * ``` * * @param {string} name - The name of the query parameter to retrieve. * @param {string} url - The full URL from which to extract the parameter. * @returns {string|null} The decoded value of the parameter, or `null` if not found. * @deprecated */ function queryUrlByName(name, url) { let newName = name.replace(/[\[\]]/g, '\\$&'); var regex = new RegExp('[?&]' + newName + '(=([^&#]*)|&|#|$)'), results = regex.exec(url); if (!results) return null; if (!results[2]) return ''; return decodeURIComponent(results[2].replace(/\+/g, ' ')); } module.exports = queryUrlByName;