js获取url参数值的两种方式,后端获取url上的参数

js获取url参数值的两种方式,后端获取url上的参数,前端JS获取URL参数的4种方法总结

通过url传递参数是我们在开发中经常用到的一种参数传递方法。下面文章主要介绍前端JS获取URL参数的四种方法,通过示例代码详细介绍。有需要的朋友可以参考一下。

目录

前言方法1:字符串拆分方法方法2:使用URLSearchParams方法3:使用正则匹配方法方法4:使用第三方库qs总结:

前言

对于前端来说,无论在面试还是工作中,都可能会遇到url参数的处理问题。项目开发不一定要用框架,有自己获取参数的方式。然而,除了使用框架,我们还可以使用原生js方法或借用第三方库来获取和对象化参数。在此,将对具体用法进行介绍和梳理。

方法1: 字符串 split 方法

因为一个url地址是字符串的形式,所以参数是用split的方法提取的,这个方法比较常用,也比较好理解(对于不太会用正则的我来说,哈哈~)

let URL=http://www.baidu.com?姓名=张三年龄=25性别=男老婆=小红

函数getUrlParams(url) {

//通过?获取拆分后的参数字符串。

let urlStr=url.split(?))[1]

//创建空对象存储参数

设obj={ };

//然后分隔每个参数。

let paramsArr=urlStr.split( )

for(设i=0,len=paramsArr.length我leni ){

//将每个参数分成key:value by=的形式

设arr=paramsArr[i]。拆分(=)

obj[arr[0]]=arr[1];

}

返回对象

}

console.log(getUrlParams(URL))

方法2: 利用 URLSearchParams 方法

在MDN中,结合了两种方法来获取参数:1 .使用新的URLSearchParams(url)方法返回一个URLSearchParams对象,然后调用entries()方法返回一个迭代器;2.使用Object.fromEntries(iterable)方法将其转换为普通对象。

let URL=http://www.baidu.com? name=Jackage=25 sex=men wife=Lucy

函数getUrlParams2(url) {

let urlStr=url.split(?))[1]

const urlSearchParams=新的URLSearchParams(urlStr)

const result=object . from entries(urlsearchparams . entries())

回送结果

}

console.log(getUrlParams2(URL))

特别的

:URLSearchParams方法不仅可以获取参数,还可以将参数对象转换为字符串。详细用法见MDN中的介绍,此方法存在浏览器兼容性问题。

方法3: 利用正则匹配方法

匹配功能强大。相信很多朋友都知道,它不仅可以验证账号、密码、邮箱、手机号等。在登录注册的时候,还要处理一些字符串(比如检查,替换,抽取等。)非常方便。难点在于经常使用的熟练程度。在这里,字符串中所需的字符是通过常规使用提取的。

let URL=http://www.baidu.com?名字=汤姆朋友=杰瑞

函数getUrlParams3(url){

//w表示至少匹配一个(数字、字母、下划线),[u4e00-u9fa5]表示至少匹配一个汉字。

let pattern=/( w |[ u4e 00- u9fa 5])=( w |[ u4e 00- u9fa 5])/ig;

假设结果={ };

url.replace(pattern,($,$1,$2)={

结果[$ 1]=$ 2;

})

回送结果

}

console.log(getUrlParams3(URL))

方法4: 使用第三方库 qs

使用第三方库qs还可以实现url中参数字符的提取,还可以实现参数对象到url参数形式的转换。需要注意的是,在引入浏览器cdn方法时,默认情况下会将其添加到全局对象窗口的Qs属性中。

script src= https://cdn . bootcdn . net/Ajax/libs/QS/6 . 10 . 3/QS . min . js /script

脚本

let URL=http://www.baidu.com?产品=iPhone 13 Pro 价格=9999.00

函数getUrlParams4(url){

//引入qs库时,默认挂在全局窗口的Qs属性上

//console.log(窗口)

let urlStr=url.split(?))[1]

let result=Qs.parse(urlStr)

//拼接的附加参数

let otherParams={

数字:50,

尺寸:6.1

}

设str=Qs.stringify(otherParams)

设newUrl=url字符串

返回{result,newUrl}

}

console.log(getUrlParams4(URL))

/脚本

总结:

关于前端JS获取URL参数的四种方法,本文到此结束。有关通过前端获取URL参数的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望大家以后能多多支持我们!

js获取url参数值的两种方式,后端获取url上的参数