JavaScript 操作 URL 参数
2020-04-17 计算机知识体系 JavaScript
获取指定参数
function getUrlParam(param)
{
var sPageURL = window.location.search.substring(1),
sURLVariables = sPageURL.split('&'),
sParamName,
i;
for (i = 0; i < sURLVariables.length; i++) {
sParamName = sURLVariables[i].split('=');
if (sParamName[0] === param) {
return sParamName[1] === undefined ? true : decodeURIComponent(sParamName[1]);
}
}
};
返回指定参数的 value 值。若参数不存在,返回 undefined。
移除指定参数
function removeUrlParam(param)
{
var url = window.location.href.split('?')[0]+'?';
var sPageURL = decodeURIComponent(window.location.search.substring(1)),
sURLVariables = sPageURL.split('&'),
sParameterName,
i;
for (i = 0; i < sURLVariables.length; i++) {
sParameterName = sURLVariables[i].split('=');
if (sParameterName[0] != param) {
url = url + sParameterName[0] + '=' + sParameterName[1] + '&'
}
}
return url.substring(0, url.length - 1);
}
返回移除指定参数后的 URL。
设置参数
function setUrlParam(param, value)
{
var url = getUrlParam(param) != undefined ? removeUrlParam(param) : window.location.href;
var reg = /\?/;
reg.test(url) ? url += '&'+param+'='+value : url += '?'+param+'='+value;
return url;
}
返回设置参数后的 URL。若 URL 中指定参数不存在,添加该参数;存在,更新该参数值。
注意:该方法依赖于上述
getUrlParam
和removeUrlParam
方法。