Есть ли лучший способ удалить параметр из строки запроса в строке URL в стандартном JavaScript, кроме как с помощью регулярного выражения?
Вот то, что я до сих пор придумал, что, похоже, работает в моих тестах, но мне не нравится изобретать синтаксический разбор запроса!
function RemoveParameterFromUrl( url, parameter ) {
if( typeof parameter == "undefined" || parameter == null || parameter == "" ) throw new Error( "parameter is required" );
url = url.replace( new RegExp( "\\b" + parameter + "=[^&;]+[&;]?", "gi" ), "" ); "$1" );
// remove any leftover crud
url = url.replace( /[&;]$/, "" );
return url;
}