js 截取url中的参数

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;
}

正常的页面可以调用这个方法,window.location.search获取到当前页面从问号 (?) 开始的 URL(查询部分)

随后配合正则就可以筛选出想要的参数,比如链接:https://i.cnblogs.com/EditPosts.aspx?hello=123

这么使用:  getQueryString(‘hello’)

就可以直接获取到  “123”

--------------------------------------------------------------

这个方法在vue单页面中是不可用的,比如vue的hash模式,链接是含有#号且在?号之前的

比如: http://192.168.1.181:8080/#/bookDetail?antBook=3

如果这时候调用方法:this.getQueryString(‘antBook’),是会返回null的,主要原因是该死的#号,他会让window.location.search直接失效,阻碍我们导致

根本拿不到我们想要的antBook的值

这个时候也很简单,我们只要相对的改改代码,让从问号 (?) 开始变为从#号开始的 URL(锚)

也就是将(window.location.search)更改为(window.location.hash)

这样在vue单页面中,就可以顺利取到参数值了

原文地址:https://www.cnblogs.com/DangerousBaymax/p/9265129.html

时间: 2024-08-28 10:27:43

js 截取url中的参数的相关文章

js获取url中的参数,并保证获取到的参数不乱码

  //网上比较经典的js获取url中的参数的方法  function getQueryString(name) {      var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");      var r = window.location.search.substr(1).match(reg);      if ( r != null ){        

js获取URL中的参数

js获取URL中的一些参数的意思 location对象 含有当前URL的信息. 属性 href 整个URL字符串. protocol 含有URL第一部分的字符串,如http: host 包含有URL中主机名:端口号部分的字符串.如//www.cenpok.net/server/ hostname 包含URL中主机名的字符串.如http://www.cenpok.net ; port 包含URL中可能存在的端口号字符串. pathname URL中"/"以后的部分.如~list/inde

解决JS在url中传递参数时参数包含中文乱码的问题

需要经过两次encodeURI()编码和两次decodeURI()解码, 使用encodeURI()编码时, var searchType = $("#type_select option:selected").val();//"基地动态" var searchContent = $("#search_val").val();//"aaaa" var url = encodeURI("TextSearchDetail

Js读取url中的参数、修改url的参数

1.读取url的某个参数值: /* *获取URL参数 */ function GetQueryString(name) {     var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");     var r = window.location.search.substr(1).match(reg);     if (r != null) {         return unescape

js 获取url 中的参数;

用JS获取地址栏参数的方法(超级简单) 方法一:采用正则表达式获取地址栏参数:( 强烈推荐,既实用又方便!) function GetQueryString(name) {      var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");      var r = window.location.search.substr(1).match(reg);      if(r!=null)ret

js截取URL中字段

var url= document.location.href; var arrurl=url.split("?shop_id="); var sid = arrurl[1]; var shopid    = parseInt(sid);

分享关于js解析URL中的参数的方法

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; } 例如url: http://192

js获得URL中的参数

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; }

js获取url中指定参数的值(含带hash)

function getUrlVars() { var vars = {}; var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (m, key, value) { vars[key] = value; } ); return vars; } 使用如: http://localhost?name=xxg getUrlVars()["name"] 返回的值为 xx