美文网首页
获取Url地址中参数的几种方法

获取Url地址中参数的几种方法

作者: 编程鸭 | 来源:发表于2019-05-28 14:23 被阅读0次

    获取Url的代码如下:window.location.href;

    方法一:原生js(假设已经获得了Url地址)

    varurl ='https://gitbook.cn/gitchat/geekbooks?tag=JavaScript&name=pwwu&age=24';

    vartemp1 = url.split('?');

    varpram = temp1[1];

    varkeyValue = pram.split('&');

    varobj = {};

    for(vari =0; i

    varitem = keyValue[i].split('=');

    varkey = item[0];

    varvalue = item[1];

    obj[key] = value;

    }

    console.log(url);

    console.log(temp1);//  ['https://gitbook.cn/gitchat/geekbooks','tag=JavaScript&name=pwwu&age=24']

    console.log(pram);//  tag=JavaScript&name=pwwu&age=24

    console.log(keyValue);//  ['tag=JavaScript','name=pwwu','age=24']

    console.log(obj);//  {tag:'JavaScript',name:'pwwu',age:'24'}

    总结:主要思路就是将Url用split()分割成不同的块,返回值为一个数组,一直分割到为[‘tag=JavaScript’,‘name=pwwu’,‘age=24’]为止,然后将该数组中的每一项以键值对的形式传进一个空对象obj(这里需要遍历数组),最后利用obj.name“点”的方式获取相应参数。

    方法二 URLSearchParams()函数(记不住函数名的可以直接在浏览器里面打印)

    varurl2 ='https://gitbook.cn/gitchat/geekbooks?tag=%E5%A4%A7%E6%95%B0%E6%8D%AE&name=gy&age=22';

    vartemp2 = url2.split('?')[1];

    varpram2 =newURLSearchParams('?'+temp2);

    console.log(pram2.get('tag'));// 大数据

    console.log(pram2.get('name'));// gy

    console.log(pram2.get('age'));// 22

    console.log(temp2);//tag=%E5%A4%A7%E6%95%B0%E6%8D%AE&name=gy&age=22

    方法三 使用正则表达式

    //获取url中的参数方法

    functiongetUrlParam(name){

    //构造一个含有目标参数的正则表达式对象

    varreg =newRegExp("(^|&)"+ name +"=([^&]*)(&|$)");

    //匹配目标参数

    varr =window.location.search.substr(1).match(reg);

    //返回参数

    if(r !=null) {

    returnunescape(r[2]);

    }else{

    returnnull;

    }

    }

    varABC = getUrlParam();

    console.log(ABC);

    后续还有其他方法,暂时记得这么多,想起来再回头补。。。

    如果你对编程感兴趣或者想往编程方向发展,可以关注微信公众号【筑梦编程】,大家一起交流讨论!小编也会每天定时更新既有趣又有用的编程知识!

    相关文章

      网友评论

          本文标题:获取Url地址中参数的几种方法

          本文链接:https://www.haomeiwen.com/subject/kbqdtctx.html