URL参数解析方法

这几天遇到这样一个需求,需要在不同页面之前传递参数,一般我们都是通过URL来传递,如下

window.open(‘test.html?id=123&name=456‘)

然后在新窗口的时候我们再用window.location.search方法获取?后面的参数内容,但是拿到的内容是“?id=123&name=456”这样的形式,我们还需要进行一系列的字符串处理才能拿到我们需要的信息,这样就比较麻烦一些了,所以我们就基于这个需求封装一个工具方法来把参数后面的内容解析成一个对象字面量来供我们使用,代码如下

function urlParse(){
    var url = window.location.search;
        var obj = {};
        var reg = /[?&][^?&]+=[^?&]+/g;
        var arr = url.match(reg);

        if (arr) {
            arr.forEach(function (item) {
                var tempArr = item.substring(1).split(‘=‘);
                var key = decodeURIComponent(tempArr[0]);
                var val = decodeURIComponent(tempArr[1]);
                obj[key] = val;
            });
        }
        return obj;
}
urlParse() // return {id:123,name:456}
 

这样只要在新窗口调用这个方法我们就能返回一个对象字面量的参数来供我们使用了。

时间: 2024-08-01 00:44:23

URL参数解析方法的相关文章

五种URL参数解析方法的性能比较

因为在最近项目中需要解析日志中的 URL 的参数,所以我对比了一下五种不同 的 URL 参数解析方法的性能.URL 参数解析方法: httpclient org.apache.http.client.utils.URLEncodedUtils URLEncodedUtils.parse(query, Charset.forName("UTF-8"));jettyUtil org.eclipse.jetty.util.UrlEncoded MultiMapvalues = new Mul

封装一个方法:把URL参数解析为一个对象,来获取地址栏url里面的传递的参数。

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].spl

百度URL参数解析

百度URL参数解析 在用Python爬取百度搜索的内容时,发现百度搜索的url非常的长,往往会跟一大段的参数,但其实很多参数都是没有必要的,如同样是搜索java关键字,可以通过 http://www.baidu.com/s?wd=java 如此简单的URL来获取,而下面这个超级复杂的URL也是同样进行了关键字java的搜索: http://www.baidu.com/s?wd=java&rsv_spt=1&rsv_iqid=0xd3c8c51900052eb3&issp=1&

把URL参数解析成一个Json对象

问题:请编写一个JavaScript函数parseQueryString,它的用途是把URL参数解析为一个对象.           eg:var obj=parseQueryString(url); 创建对象的三种形式:        一:                var Person=new Object();                Person.name="Sun";                Person.age=24;        二:         

Javascript 获取链接(url)参数的方法

qa项目可能需要客户端获取到url的参数,搜到一个很好的解决方法,记录在博客,省得以后找麻烦. 方法一:分解链接的方式 <script type="text/javascript"> /* * 说明:Javascript 获取链接(url)参数的方法 */ function getQueryString(name) { // 如果链接没有参数,或者链接中不存在我们要获取的参数,直接返回空 if(location.href.indexOf("?")==-1

0428日重点:页面之间通过url参数的方法传递变量

1.一个页面里的变量,要传递给另一个页面,可通过把变量作为网址的url参数的方法传递,在另一个页面(接收页面)里,先获取到属性,然后放在隐藏的input里,然后表单提交! 1.传递页面的url里,把变量作为参数写进去 2. 接收页面,js获取url中的参数,并把参数放入隐藏的input里. 3.最后ajax的时候,把获取到的参数上传.

javascript:设置URL参数的方法,适合多条件查询

适用场景:多条件查询情况,如下图所示: 通过设置URL参数,再结合数据源控件设置的RUL参数,就能进行简单的多条件查询了. javascript函数: <mce:script type="text/javascript"><!-- //设置URL参数的方法 function setParmsValue(parms, parmsValue) { var urlstrings = document.URL; var args = GetUrlParms(); var va

转:使用jquery获取url以及jquery获取url参数的方法

转:使用jquery获取url以及jquery获取url参数的方法 使用jquery获取url以及jquery获取url参数的方法

java 获取url及url参数解析

java  获取url及url参数解析 一.url编码:URLEncoder.encode(userName); 二.url解码: URLDecoder.decode(userName);