Js更改指定URL参数的值

function changeURLPar(destiny, par, par_value)
{
var pattern = par+'=([^&]*)';
var replaceText = par+'='+par_value;

if (destiny.match(pattern))
{
var tmp = '/\\'+par+'=[^&]*/';
tmp = destiny.replace(eval(tmp), replaceText);
return (tmp);
}
else
{
if (destiny.match('[\?]'))
{
  return destiny+'&'+ replaceText;
}
else
{
  return destiny+'?'+replaceText;
}
}

return destiny+'\n'+par+'\n'+par_value;
}

destiny是目标字符串,比如是http://www.huistd.com/?id=3&ttt=3
par是参数名,par_value是参数要更改的值,调用结果如下:

changeURLPar(test, 'id', 99); // http://www.huistd.com/?id=99&ttt=3

changeURLPar(test, 'haha', 33); // http://www.huistd.com/?id=99&ttt=3&haha=33

原文地址:https://www.cnblogs.com/aweifly/p/2682199.html