现有网址

http://example.com/home.php?id=1&branch_id=4&course_id=5

新网址
http://example.com/home.php?id=1&branch_id=4

从现有网址中删除 course_id

如何从 url 中删除一个参数值。

试过下面的代码:
function replaceUrlParam(url, paramName, paramValue){
    var pattern = new RegExp('(\\?|\\&)('+paramName+'=).*?(&|$)')
    var newUrl=url
    if(url.search(pattern)>=0){
        newUrl = url.replace(pattern,'$1$2' + paramValue + '$3');
    }
    else{
        newUrl = newUrl + (newUrl.indexOf('?')>0 ? '&' : '?') + paramName + '=' + paramValue
    }
    return newUrl
}

但它不工作...

最佳答案

正如您所说,您想使用变量而不是直接使用 .replace(/&course_id=\d+/, '') ,您可以这样做:-

例子:-

var re = new RegExp("&course_id=\\d+");
var newUrl="http://example.com/home.php?id=1&branch_id=4&course_id=5";
console.log(newUrl.replace(re, ''));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

关于javascript - 使用jquery删除url中的一个参数名称和值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43586003/

10-12 13:47