Бортовой журнал Ктулху

Как перезаписать параметр url в js

JavaScript функция, принимающая на вход параметр адресной строки (query string) и меняюща его на указанный.

 

function queryStringUrlReplacement(url, param, value)
{
    var re = new RegExp("[\\?&]" + param + "=([^&#]*)"), match = re.exec(url), delimiter, newString;
    if (match === null) {
        // append new param
        var hasQuestionMark = /\?/.test(url);
        delimiter = hasQuestionMark ? "&" : "?";
        newString = url + delimiter + param + "=" + value;
    } else {
        delimiter = match[0].charAt(0);
        newString = url.replace(re, delimiter + param + "=" + value);
    }
    return newString;
}
// пример использования: в редиректе меняем параметр url, соответственно, кудато перенаправляемся
window.location.href = queryStringUrlReplacement(window.location.href,'env',env);