js获取url地址里的数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js获取url地址里的数据相关的知识,希望对你有一定的参考价值。

比如:http://网址/baike/3534.html?page=xxx

我想用JS获取“3534”这个变量,怎么获取?谢谢

参考技术A 方法如下:
1.采用正则表达式获取地址栏参数:
代码如下:

function GetQueryString(name)

var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
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"));

2.例子:
若地址栏URL为:abc.html?id=123&url=http://www.maidq.com

用上面的方法去调用:alert(GetQueryString("url"));

则会弹出一个对话框:内容就是 http://www.maidq.com

如果用:alert(GetQueryString("id"));那么弹出的内容就是 123 ;

加一个判断 ,判断请求的参数是否为空把值赋给一个变量:

var myurl=GetQueryString("url");
if(myurl !=null && myurl.toString().length>1)

alert(GetQueryString("url"));
参考技术B

可以使用javascript里面window自己方法。下面是代码,仅供参考:

window.location ----->可以获取浏览器地址 每一段信息
http://www.a.com/app/a.html?a=12#1  //这个是url地址信息
alert(window.location.search);// 获取后面的数据 -->?a=12

参考技术C var url=location.href;
var match_arr=url.match(/\/([\w]*)\.html/i);
alert(match_arr[1]); //弹出的结果是3534
参考技术D var url = document.location.href;
var urlList = url.split('/');
var a = urlList[urlList.length-1].split('.')[0];本回答被提问者采纳

将url地址里的参数转为对象

参考技术A 如果是vue的话可以直接通过this.$route.query来获取

下面是原生写法

function UrlParamHash (url) 

        var params = 

        var h

        var hash = url.slice(url.indexOf('?') + 1).split('&')

        for (var i = 0; i < hash.length; i++) 

          h = hash[i].split('=') //

          params[h[0]] = h[1]

        

        return params

      

以上是关于js获取url地址里的数据的主要内容,如果未能解决你的问题,请参考以下文章

将url地址里的参数转为对象

js获取url地址里?后边的数据

JS获取URL传的值与解决获取URL中的中文参数出现乱码

JS获取URL的参数

JS获取地址栏url参数

js获取url参数 如何改变当前页面内某个图片的地址?