Comment puis-je supprimer un paramètre de chaîne de requête en JavaScript?

Est-il une meilleure façon de supprimer un paramètre à partir d'une chaîne de requête dans une chaîne d'URL en JavaScript standard autres que par l'utilisation d'une expression régulière?

Voici ce que j'ai trouvé jusqu'à présent qui semble fonctionner dans mes tests, mais je n'aime pas à réinventer querystring analyse!

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;
}