<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>demo</title>
</head>
<body>
<input id="uid" type="text">
<button onclick="changeUrl()">提交url</button>
<script type="text/javascript">
    /*
        changeURLPar()函数参数说明:
            uri:需要改变的链接
            par:需要改变或者曾加的参数名称
            par_value:需要改变或者曾加的参数值

    */
    function changeURLPar(uri, par, par_value) {
        var pattern = par + '=([^&]*)';
        var replaceText = par + '=' + par_value;
        if (uri.match(pattern)) {//如果连接中带这个参数
            var tmp = '/\\' + par + '=[^&]*/';
            tmp = uri.replace(eval(tmp), replaceText);
            return (tmp);
        }
        else {
            if (uri.match('[\?]')) {//如果链接中不带这个参数但是有其他参数
                return uri + '&' + replaceText;
            }
            else {//如果链接中没有带任何参数
                return uri + '?' + replaceText;
            }
        }
        return uri + '\n' + par + '\n' + par_value;
    }
    
    function changeUrl(){
        var uid = document.getElementById('uid').value;//从输入框获取uid的值

        var newurl = changeURLPar(window.location.href, 'uid', uid);//将uid和现有的页面地址拼接
    
        window.history.pushState(null,null,newurl);//向当前url添加参数
    }

</script>

</body>
</html>

 

posted on 2020-06-03 14:26  ljyyjj  阅读(520)  评论(0编辑  收藏  举报