我一直在寻找一种有效的方法来做到这一点,但一直找不到它,基本上我需要的是给定这个网址,例如:
http://localhost/mysite/includes/phpThumb.php?src=http://media2.jupix.co.uk/v3/clients/4/properties/795/IMG_795_1_large.jpg&w=592&aoe=1&q=100
我希望能够更改中的 URLsrc
使用 javascript 或 jquery 具有另一个值的参数,这可能吗?
以下解决方案结合了其他答案并处理一些特殊情况:
- 原url中不存在该参数
- 该参数是唯一的参数
- 参数是第一个还是最后一个
- 新参数值与旧参数值相同
- url 以 a 结尾
?
特点
-
\b
确保以 paramName 结尾的另一个参数不会匹配
解决方案:
function replaceUrlParam(url, paramName, paramValue)
{
if (paramValue == null) {
paramValue = '';
}
var pattern = new RegExp('\\b('+paramName+'=).*?(&|#|$)');
if (url.search(pattern)>=0) {
return url.replace(pattern,'$1' + paramValue + '$2');
}
url = url.replace(/[?#]$/,'');
return url + (url.indexOf('?')>0 ? '&' : '?') + paramName + '=' + paramValue;
}
已知限制:
- 不会通过将 paramValue 设置为 null 来清除参数,而是将其设置为空字符串。看https://stackoverflow.com/a/25214672如果你想删除该参数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)