其他分享
首页 > 其他分享> > URL编解码提取参数

URL编解码提取参数

作者:互联网

1.思路

编解码数组映射 正则替换

2.代码

(1)url解码

function getUrlDecode(href) { 
	let UrlEncodeArr = ['%23', '%26', '%3D', '%3F', '%3A', '%2F', '%7B', '%7D', '%5B', '%5D', '%3C', '%3E', '%22'];
	let UrlDecodeArr = ['#', '&', '=', '?', ':', '/', '{', '}', '[', '<', '>', '\"'];
	for (let i=0, len=UrlEncodeArr.length; i < len; i++) {
		let reg = new RegExp(UrlEncodeArr[i],"g")
		href = href.replace(reg, UrlDecodeArr[i])
	}
	return href
}

(2)url编码

function getUrlEncode(href) { 
	let UrlEncodeArr = ['%23', '%26', '%3D', '%3F', '%3A', '%2F', '%7B', '%7D', '%5B', '%5D', '%3C', '%3E', '%22'];
	let UrlDecodeArr = ['#', '&', '=', '?', ':', '/', '{', '}', '[', '<', '>', '\"'];
	for (let i=0, len=UrlEncodeArr.length; i < len; i++) {
		let reg = new RegExp(UrlDecodeArr[i],"g")
		href = href.replace(reg, UrlEncodeArr[i])
	}
	return href
}

(3)获取参数值

const getHrefParameter = (href, parameter) => {
	if (href.search(parameter) != -1) {
		let par = href.split(parameter + '=')[1] 
		// par = href.split('&')[0] // 若有多个参数,则再以&切割
		return par 
	} else {
		return null
	}
}

标签:编解码,UrlDecodeArr,提取,URL,UrlEncodeArr,href,let,return,reg
来源: https://blog.csdn.net/qq_44308920/article/details/120890334