Comment puis-je supprimer un paramètre de chaîne de requête en JavaScript sans recourir à des expressions régulières ?
Au lieu d'utiliser une expression régulière pour supprimer une requête paramètre de chaîne, une approche plus robuste consiste à analyser les paramètres. Voici un exemple de mise en œuvre :
function removeURLParameter(url, parameter) { // Parse the URL into parts var urlparts = url.split('?'); // If there's no query string, return the original URL if (urlparts.length < 2) { return url; } // Split the query string into individual parameters var pars = urlparts[1].split(/[&;]/g); // Reverse iterate to ensure the order of items after splicing for (var i = pars.length; i--;) { // Check if the parameter starts with the specified prefix if (pars[i].lastIndexOf(encodeURIComponent(parameter) + '=', 0) !== -1) { // Remove the offending parameter pars.splice(i, 1); } } // Rebuild the query string var newQuery = (pars.length > 0 ? '?' + pars.join('&') : ''); // Rebuild the full URL return urlparts[0] + newQuery; }
Cette approche présente plusieurs avantages :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!