当前第2页 返回上一页
1 2 | console.log(myURL.search);
|
但是,如果我们想要拆分它们并获取它们的值,那就有点复杂了。
使用 URLSearchParams 解析查询参数
要解析查询参数,我们需要创建一个 URLSearchParams 对象,如下所示:
1 | var searchParams = new URLSearchParams(myURL.search);
|
然后可以通过调用 searchParams.get('key')
来获取特定键的值。 使用我们的示例网址 - 这是原始搜索参数:
因此,如果我们调用 searchParams.get('x'
),那么它应该返回 y
,而 searchParams.get('a')
应该返回 b
,我们来试试吧!
1 2 3 4 | console.log(searchParams.get( 'x' ));
console.log(searchParams.get( 'a' ));
|
扩展
获取 URL 的中参数
方法一:正则法
1 2 3 4 5 6 7 8 9 10 11 12 13 | function getQueryString(name) {
var reg = new RegExp( '(^|&)' + name + '=([^&]*)(&|$)' , 'i' );
var r = window.location.search. substr (1).match(reg);
if (r != null) {
return unescape(r[2]);
}
return null;
}
alert(GetQueryString( "参数名1" ));
alert(GetQueryString( "参数名2" ));
alert(GetQueryString( "参数名3" ));
|
方法二:split拆分法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | function GetRequest() {
var url = location.search;
var theRequest = new Object();
if (url.indexOf( "?" ) != -1) {
var str = url. substr (1);
strs = str.split( "&" );
for ( var i = 0; i < strs.length; i ++) {
theRequest[strs[i].split( "=" )[0]] = unescape(strs[i].split( "=" )[1]);
}
}
return theRequest;
}
var Request = new Object();
Request = GetRequest();
|
修改 URL 的中某个参数值
1 2 3 4 5 6 7 8 | function replaceParamVal(paramName,replaceWith) {
var oUrl = this.location.href.toString();
var re= eval ( '/(' + paramName+ '=)([^&]*)/gi' );
var nUrl = oUrl.replace(re,paramName+ '=' +replaceWith);
this.location = nUrl;
window.location.href=nUrl
}
|
原文地址:https://codetheweb.blog/2019/01/21/javascript-url-parsing/
为了保证的可读性,本文采用意译而非直译。
更多编程相关知识,请访问:编程学习网站!!
以上就是详解使用 JavaScript 解析 URL的方法的详细内容,更多文章请关注木庄网络博客!
返回前面的内容
相关阅读 >>
javascript怎么实现二维码
javascript的map方法有什么用
移动端全景装修图的实现实例分享
javascript怎么设置滚动条高度
javascript中的栈、队列操作
javascript获得元素的方法
javascript定时器怎么停止
使用async属性异步加载执行javascript的方法
在javascript的不同函数中可以使用相同的变量名吗?
vue面试题的介绍(附答案)
更多相关阅读请进入《javascript》频道 >>
人民邮电出版社
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者
转载请注明出处:木庄网络博客 » 详解使用 JavaScript 解析 URL的方法