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
	}
}
上一篇:ZYNQ&FPGA 串口通信实验


下一篇:数码管跑起来