JS修改url参数⽅法/**
* js获取url参数
* @param {*} key 参数名
*/
export const getUrlParam = (key) => {
let reg = new RegExp("(^|&)" + key + "=([^&]*)(&|$)"); //构造⼀个含有⽬标参数的正则表达式对象
let r = window.location.search.substr(1).match(reg);  //匹配⽬标参数
if (r != null) return unescape(r[2]); return null; //返回参数值
}
/**
* 修改url参数
* @param {*} key 参数名
* @param {*} value 参数值
*/
export const replaceParamVal = (key, value) => {
let oUrl = window.String();
let re = eval('/(' + key + '=)([^&]*)/gi');
let nUrl = place(re, key + '=' + value);
return nUrl
}
/**
* 修改页⾯url指定参数,并跳转(单个参数)
* @param {*} key 参数名
* @param {*} value 参数值
*/
export const setParamVal = (key, value) => {
let url = window.location.href
if (getUrlParam(key) != null) {
window.location.href = replaceParamVal(key, value)
} else {
if (url.indexOf("?") == -1) {
window.location.href = url + '?' + key + '=' + value
} else {
window.location.href = url + '&' + key + '=' + value
}
}
}
/**
js获取json的key和value* 修改页⾯url指定参数,并跳转(多个参数)
* @param {*} arr 数组对象
*/
export const setMoreParamVal = (arr) => {
let url = window.location.href
arr.map((item) => {
if (getUrlParam(item.key) != null) {
let re = eval('/(' + item.key + '=)([^&]*)/gi');
url = place(re, item.key + '=' + item.value);
} else {
if (url.indexOf("?") == -1) {
url = url + '?' + item.key + '=' + item.value
} else {
url = url + '&' + item.key + '=' + item.value
}
}
})
return url
}
/**
* 删除指定url上的参数
* @param {*} url url路径
* @param {*} name 删除的参数名
*/
export const urlDelP = (url, name) => {
var urlArr = url.split('?');
if (urlArr.length > 1 && urlArr[1].indexOf(name) > -1) {
var query = urlArr[1];
var obj = {}
var arr = query.split("&");
for (var i = 0; i < arr.length; i++) {

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。