<!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 + ' ' + par + ' ' + 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>