2025年03月09日 建站教程
在做开发的时候,我们会需要获取链接上的参数,下面web建站小编给大家介绍一下获取url参数的四种方法?
1、利用正则获取
let getUrl = "https://lmcjl.com?name=web&friend=jtmc" function getUrlParams3(url){ // \w+ 表示匹配至少一个(数字、字母及下划线), [\u4e00-\u9fa5]+ 表示匹配至少一个中文字符 let pattern = /(\w+|[\u4e00-\u9fa5]+)=(\w+|[\u4e00-\u9fa5]+)/ig; let result = {}; url.replace(pattern, ($, $1, $2)=>{ result[$1] = $2; }) return result } console.log(getUrlParams3(getUrl)) //{name: 'web', friend: 'jtmc'}
2、利用split获取
let getUrl = "https://lmcjl.com?name=web&friend=jtmc" function getUrlParams(url) { // 通过 ? 分割获取后面的参数字符串 let urlStr = url.split('?')[1] // 创建空对象存储参数 let obj = {}; // 再通过 & 将每一个参数单独分割出来 let paramsArr = urlStr.split('&') for(let i = 0,len = paramsArr.length;i < len;i++){ // 再通过 = 将每一个参数分割为 key:value 的形式 let arr = paramsArr[i].split('=') obj[arr[0]] = arr[1]; } return obj } console.log(getUrlParams(getUrl)) //{name: 'web', friend: 'jtmc'}
3、利用URLSearchParams获取
let getUrl = "https://lmcjl.com?name=web&friend=jtmc" function getUrlParams(url) { let urlStr = url.split('?')[1] const urlSearchParams = new URLSearchParams(urlStr) const result = Object.fromEntries(urlSearchParams.entries()) return result } console.log(getUrlParams(getUrl)) //{name: 'web', friend: 'jtmc'}
4、使用第三方库qs获取
//引入js https://cdn.bootcdn.net/ajax/libs/qs/6.10.3/qs.min.js let getUrl = "https://lmcjl.com?name=web&friend=jtmc" function getUrlParams(url){ // 引入 qs 库时会默认挂在到全局 window 的 Qs 属性上 // console.log(window) let urlStr = url.split('?')[1] let result = Qs.parse(urlStr) // 拼接额外参数 let otherParams = { num:50, size:6.1 } let str = Qs.stringify(otherParams) let newUrl = url + str return {result,newUrl} } console.log(getUrlParams(getUrl))
本文链接:http://so.lmcjl.com/news/24596/