查询/删除url中的参数
/** * 获取url中的参数值 * @param name 参数名称 */ export function getQueryString(name) { const reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)') const r = window.location.search.substr(1).match(reg) if (r != null) { return unescape(r[2]) } return null }
/** * 删除url中的指定参数并返回新url * @param url 需要截取的url * @param ref 需要删除的参数名称 */ export function delQueryString(url, ref, isEnCode = false) { let str = '' let newUrl = '' let hash = '' if (url.indexOf('#') !== -1) { hash = url.substr(url.indexOf('#')) url = url.split(hash)[0] } if (url.indexOf('?') !== -1) { str = url.substr(url.indexOf('?') + 1) } else { newUrl = url } let arr = [] let returnurl = '' if (str.indexOf('&') !== -1) { arr = str.split('&') let index for (index in arr) { if (arr[index].split('=')[0] !== ref) { returnurl = returnurl + arr[index].split('=')[0] + '=' + arr[index].split('=')[1] + '&' } } newUrl = url.substr(0, url.indexOf('?')) + '?' + returnurl.substr(0, returnurl.length - 1) } else { arr = str.split('=') if (arr[0] === ref) { newUrl = url.substr(0, url.indexOf('?')) } else { newUrl = url } } newUrl = newUrl + hash return isEnCode ? encodeURIComponent(newUrl) : newUrl }