精华内容
下载资源
问答
  • 获取url参数方法
    千次阅读
    2016-03-28 19:55:13

    获取url参数主要有两种方法

    第一种是利用字符串的分割方法,将url以“&”和“=”做分割,得到参数数组,然后再利用数组的迭代方法中的filter()方法,筛选并返回我们需要的数据。

    function GetQueryString(name) {
        //获取url中“?”后边的部分,并将结果以“&”分割成数组
        var paras = url.split('?')[1].split('&');
        //遍历数组中是否有满足参数条件的数组项
        var result = paras.filter(function(item,index,para){
      	return(item.split('=')[0] == name);
       });
        //如果有满足条件的,则将数组项中的value值返回
        if(result){
    	return (result[0].split('=')[1]);
       }
    }

    第二种方法是利用正则表达式,正则表达式的方法就要比上边的方法看起来要简洁很多。借助这个方法,自己也学习了一些正则表达式的应用。

    function GetQueryString(name) {
       var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)","i");
       var r = "aa=22&bb=12".match(reg);
       if (r!=null) return (r[2]); return null;
    }
    首先,(^|&)这里边的 ^ 表示的是匹配项是以 ^ 后边跟随的字符开头的,如果是(^&),那么匹配项的第一个字符必须是&,这里在中间加了一个 | (或)运算符,表示 & 可以有,也可以没有。

    参数name后面就是要获取的值,第一个括号里边有一个中括号,中括号里边的表示要匹配的值。

    “*”表示匹配前边中括号里边的内容0次或多次(”+“表示一次或多次,”?“表示0次或1次)。

    ”^&“的意思是匹配开头不是”&“的内容。

    第二个括号里的就是在结尾处匹配”&“或者”$“符号,这里如果没有这两个符号结尾也能够正常返回前边所匹配到的内容。

    另外一种正则表达式的方法是:

    var arr = url.match(/\w+=\w+/gi);

    这样得出的结果是各项参数组成的数组,然后再利用数组的迭代方法去处理就好了。

    \w 表示大小写字母,数字,下划线


    ----------------------------------------------------3月29日更新-----------------------------------------------------------------------

    今天看《javascript高级程序设计》中的bom章节,讲到了通过location对象获取字符串参数的方法,其中有decodeURLComponent()方法对查询字符串解码,觉得应该记录一下。

    function getQueryStringArgs(){
     	//获取查询字符串,并截掉问号
     	var qs = (location.search.length>0?location.search.substring(1):""),
     	//存储结果的对象
    	args = {},
    	//分割获取到的字符串,去到每一对值,并放进数组
    	items = qs.length?qs.split("&"):[],
    	item = null,
    	name = null,
    	value = null,
    	i = 0,
    	len = items.length;
     	for(i = 0; i < len; i++){
     		item = items[i].split("=");
     		name = decodeURIComponent(item[0]);
     		value = decodeURIComponent(item[1]);
     		if(name){
     			args[name] = value;
     		}
     	}
     	return args;
     }
    
    
    <p>
    </p>
    



    更多相关内容
  • 本文主要介绍了JavaScript获取URL参数方法。具有很好的参考价值。下面跟着小编一起来看下吧
  • 使用jquery获取url以及使用jquery获取url参数是我们经常要用到的操作 1、jquery获取url很简单,代码如下 [removed].href; 其实只是用到了javascript的基础的window对象,并没有用jquery的知识 2、jquery获取url...
  • 今天碰到要在一个页面获取另外一个页面url传过来的参数,一开始很本能的想到了用 split("?")这样一步步的分解出需要的参数。后来想了一下,肯定会有更加简单的方法的!所以在网上找到了几个很又简单实用的方法,mark...
  • 主要介绍了nodejs实现获取当前url地址及url各种参数值,本文直接给出代码实例,需要的朋友可以参考下
  • 本文给大家介绍Java如何实现URL带请求参数(get/post)及得到get和post请求url参数列表的方法,涉及到java获取post请求参数方法,感兴趣的朋友一起看看吧
  • 主要介绍了JS实现获取当前URL和来源URL方法,涉及javascript针对页面document属性操作的相关技巧,需要的朋友可以参考下
  • 获取url上的某个参数方法有很多,在本文为大家介绍下使用javascript是如何实现的,感兴趣的朋友不要错过
  • 本文重要讲述通过url提交参数获取参数的具体操作与实现。具有很好的参考价值。下面跟着小编一起来看下吧
  • 本文实例讲述了ASP.NET实现MVC中获取当前URL、controller及action的方法。分享给大家供大家参考,具体如下: URL获取很简单,ASP.NET通用: 【1】获取 完整url (协议名+域名+虚拟目录名+文件名+参数) string ...
  • Javascript 获取链接(url)参数实现方法
  • 我们经常会看到有的页面链接地址后面会跟有参数,很多时候我们需要获得这些参数的值,接下来将介绍获取方法,感兴趣的朋友可以了解系,希望本文对你有所帮助
  • 关于JavaScript重定向URL参数实现方法网站有很多,这篇文章的主要内容是从网上查找,并进行了修改,简单粗暴的实现使用JavaScript重置url参数,文中给出了详细的示例代码和调用代码,对大家的理解和学习很有帮助,...
  • 主要介绍了JavaScript获得url查询参数方法,可实现针对URL中参数分析的功能,需要的朋友可以参考下
  • 将URL中的参数提取出来作为对象的实现代码,适合希望获取url参数的朋友。
  • 实现一个url获取query参数简单函数
    function getQueryData() {
        let params = new URLSearchParams(location.search.replace(/\?/ig, ""));
        let data = {}
        for(let index of params){
          data[index[0]] = index[1] || ''
        }
        return data;
    }
    例如:网址为“http://xx.xx.com/?a=1&b=2&c=3getQueryData() //{a: "1", b: "2", c: "3"}
    

    注意:IE浏览器不支持,可以用在微信公众号开发中

    展开全文
  • 三种方法实现获取 url 中的参数

    千次阅读 2018-08-29 16:57:18
    获取 url 中的参数 1. 指定参数名称,返回该参数的值 或者 空字符串; 2. 不指定参数名称,返回全部的参数对象 或者 {}; 3. 如果存在多同名参数,则返回数组 ; 题目来源(在线编辑):...

    获取 url 中的参数

    1. 指定参数名称,返回该参数的值 或者 空字符串;
    2. 不指定参数名称,返回全部的参数对象 或者 {};
    3. 如果存在多个同名参数,则返回数组 ;

    题目来源(在线编辑):www.nowcoder.com/practice/a3…(牛客网)

    解一:使用字符串拼接匹配字符;

     

    /*  获取URl中的参数
    * @para url 
    * @para key 参数名*/
    function getUrlParam(sUrl, sKey) {
        var left= sUrl.indexOf("?") + 1
        var right= sUrl.lastIndexOf("#")
        var parasString = sUrl.slice(left, right)
        var paras = parasString.split('&');
        var parasjson = {}
        paras.forEach(function (value, index, arr) {
            var a = value.split('=');
            parasjson[a[0]] !== undefined ? parasjson[a[0]] = [].concat(parasjson[a[0]], a[1]) : parasjson[a[0]] = a[1];
        });
    
        let result = arguments[1] !== void 0 ? (parasjson[arguments[1]] || '') : parasjson;
        return result
    }复制代码

    解二:使用正则表达式匹配字符,并使用正则Replace方法替换;

    function getUrlParam2(sUrl, sKey) {
        var result, Oparam = {};
        sUrl.replace(/[\?&]?(\w+)=(\w+)/g, function ($0, $1, $2) 
            console.log('$0:' + $0 + "     $1:" + $1 + "     $2:" + $2);
            Oparam[$1] === void 0 ? Oparam[$1] = $2 : Oparam[$1] = [].concat(Oparam[$1], $2);
        });
        sKey === void 0 || sKey === '' ? result = Oparam : result = Oparam[sKey] || '';
        return result;
    }复制代码

     

    此处注明正则:/[\?&]?(\w+)=(\w+)/g(使用Regexper在线工具将正则转成可视化的图形,简单易懂)

    regexper.com/

    解三:使用正则表达式匹配字符,并使用正则Exec方法进行组装;

    function getUrlParam3(sUrl, sKey) {
        var resObj = {};
        var reg = /(\w+)=(\w+)/g;
        while (reg.exec(sUrl)) {
            resObj[RegExp.$1] ? resObj[RegExp.$1] = [].concat(resObj[RegExp.$1], RegExp.$2) : resObj[RegExp.$1] = RegExp.$2;
        }
        if (sKey) {
            return (resObj[sKey] ? resObj[sKey] : '');
        }
        return resObj;
    }复制代码

    此处注明正则:/(\w+)=(\w+)/g

    MDN RegExp exec 方法API:developer.mozilla.org/zh-CN/docs/…

    测试:

    let url = 'http://www.nowcoder.com?key=1&key=2&key=3&test=4#hehe'
    let result = getUrlParam(url)
    let result2 = getUrlParam(url, 'key')
    console.log(result)
    console.log(result2)复制代码

    控制台输出结果如图:

    AC!!!


    作者:立志搬砖造福生活
    链接:https://juejin.im/post/5b84bff9f265da437e4d86c9
    来源:掘金
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    展开全文
  • URL参数解析 //获取url方法 //window.location.href // function getUrlkey(url){ var params = {}, arr = url.split("?"); if (arr.length <= 1) return params; arr = arr[1].split("&"); for(...

    URL参数解析

    //获取url方法
    //window.location.href
    //
    function getUrlkey(url){
      var params = {},
          arr = url.split("?");
      if (arr.length <= 1)
          return params;
      arr = arr[1].split("&");
      for(var i=0, l=arr.length; i<l; i++){
          var a = arr[i].split("=");
          params[a[0]] = a[1];
      }
      return params;
    }
    var url = "http://www.chenwenbo.info?key0=0&key1=1&key2=2",
      ps = getUrlkey(url);
    console.log(ps["key1"]);
    
    展开全文
  • js获取url传值的方法

    2020-10-23 03:26:13
    主要介绍了js获取url传值的方法,实例分析了字符串分割与正则分析两种方法,并补充了一个基于正则匹配实现的js获取url的get传值函数,需要的朋友可以参考下
  • 有时我们需要在客户端获取链接参数一个常见的方法是将链接当做字符串,按照链接的格式分解,然后获取对应的参数值。本文给出的就是这个流程的具体实现方法
  • 有客户端的浏览器发起一个url请求,Django根据URL解析,把url中的参数捕获,调用相应的试图,获取相应的数据,然后返回给客户端显示 ②. 通过一个视图的名字,再加上一些参数和值,逆向获取相应的URL一个就是...
  • 输入示例:getUrlParam("http://www.nowcoder.com?test=yes&key=1&key=2&key=3#title","key") 输出示例:["1","2","3"]
  • (新年第一天上班)今天就遇到这样一个问题,简单描述就是需要从URL获取所传递的参数。如果使用后台语言我们都会有很多中方法获取,但是网站的中的所有数据都是通过AJAX进行传递的,所以需要使用JS进行获取参数...
  • 当我们用get方法提交表单时,在url上会显示出请求的参数组成的字符串,例如:http://localhost:3000/index.html?phone=12345678901&pwd=123123,在服务器端我们要获取其中的参数来进行操作,这种情况下,就要对...
  • springBoot +netty实现websocket支持URL参数

    千次阅读 2021-12-23 21:27:15
    springBoot +netty实现websocket支持URL参数 需求如下: 1:通过url(ws://ip:端口/?sid=xxxxxxx)形式连接websocket,并且发送数据(自己下面设置的端口,我下面设置端口是8888) 2:每次发送的数据有可能是1M以上。...
  • 封装 获取一个URL地址问号后面传递的参数信息 以及 哈希值 HASH 方法 <白话文> 最 low的方法实现 这是最终我们要拿到的结果 结果:{ lx:1, name:'zhufeng', teacher:'aaa', HASH:'box' } 最终我们...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 702,151
精华内容 280,860
关键字:

实现一个获取url参数的方法