• js获取url参数值的方法总结


    正文

     1、方式一:通过字符串截取的方式获取参数值;

    函数一:获取URL中的参数名及参数值的集合

    复制代码
     1 /**
     2  * [获取URL中的参数名及参数值的集合]
     3  * 示例URL:http://htmlJsTest/getrequest.html?uid=admin&rid=1&fid=2&name=小明
     4  * @param {[string]} urlStr [当该参数不为空的时候,则解析该url中的参数集合]
     5  * @return {[string]}       [参数集合]
     6  */
     7 function GetRequest(urlStr) {
     8     if (typeof urlStr == "undefined") {
     9         var url = decodeURI(location.search); //获取url中"?"符后的字符串
    10     } else {
    11         var url = "?" + urlStr.split("?")[1];
    12     }
    13     var theRequest = new Object();
    14     if (url.indexOf("?") != -1) {
    15         var str = url.substr(1);
    16         strs = str.split("&");
    17         for (var i = 0; i < strs.length; i++) {
    18             theRequest[strs[i].split("=")[0]] = decodeURI(strs[i].split("=")[1]);
    19         }
    20     }
    21     return theRequest;
    22 }
    复制代码
    1 var parms_1 = GetRequest();
    2 console.log(parms_1); // {"uid":"admin","rid":"1","fid":"2","name":"小明"}
    3 console.log(parms_1['name']); // '小明'
    4 var parms_2 = GetRequest('http://htmlJsTest/getrequest.html?uid=admin&rid=1&fid=2&name=小明');
    5 console.log(parms_2); // {"uid":"admin","rid":"1","fid":"2","name":"小明"}
    6 console.log(parms_2['name']); // '小明'

    函数二:URLSearchParams()函数

            var url2 = 'https://gitbook.cn/gitchat/geekbooks?tag=%E5%A4%A7%E6%95%B0%E6%8D%AE&name=gy&age=22';
            var temp2 = url2.split('?')[1];
            var pram2 = new URLSearchParams('?'+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

    函数三:通过window.location.search对象,根据参数名获取url中的参数值

    复制代码
     1 /**
     2  * [通过参数名获取url中的参数值]
     3  * 示例URL:http://htmlJsTest/getrequest.html?uid=admin&rid=1&fid=2&name=小明
     4  * @param  {[string]} queryName [参数名]
     5  * @return {[string]}           [参数值]
     6  */
     7 function GetQueryValue(queryName) {
     8     var query = decodeURI(window.location.search.substring(1));
     9     var vars = query.split("&");
    10     for (var i = 0; i < vars.length; i++) {
    11         var pair = vars[i].split("=");
    12         if (pair[0] == queryName) { return pair[1]; }
    13     }
    14     return null;
    15 }
    复制代码
    1 var queryVal=GetQueryValue('name');
    2 console.log(queryVal);// 小明
     

    2、方式二:通过正则获取到参数值;

    复制代码
     1 /**
     2  * [通过参数名获取url中的参数值]
     3  * 示例URL:http://htmlJsTest/getrequest.html?uid=admin&rid=1&fid=2&name=小明
     4  * @param  {[string]} queryName [参数名]
     5  * @return {[string]}           [参数值]
     6  */
     7 function GetQueryValue1(queryName) {
     8     var reg = new RegExp("(^|&)" + queryName + "=([^&]*)(&|$)", "i");
     9     var r = window.location.search.substr(1).match(reg);
    10     if ( r != null ){
    11        return decodeURI(r[2]);
    12     }else{
    13        return null;
    14     }
    15  }
    复制代码
    1 var queryVal=GetQueryValue1('name');
    2 console.log(queryVal);// 小明

    出处:https://www.cnblogs.com/willingtolove/p/11134762.html

    您的资助是我最大的动力!
    金额随意,欢迎来赏!
    款后有任何问题请给我留言。

    如果,您认为阅读这篇博客让您有些收获,不妨点击一下右下角的推荐按钮。
    如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的关注我。(●'◡'●)

    如果你觉得本篇文章对你有所帮助,请给予我更多的鼓励,求打             付款后有任何问题请给我留言!!!

    因为,我的写作热情也离不开您的肯定支持,感谢您的阅读,我是【Jack_孟】!

  • 相关阅读:
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    基于分布式锁解决定时任务重复问题
    基于Redis的Setnx实现分布式锁
    基于数据库悲观锁的分布式锁
    使用锁解决电商中的超卖
  • 原文地址:https://www.cnblogs.com/mq0036/p/14435976.html
Copyright © 2020-2023  润新知