URL参数转换对象

    var parseQueryString = function (url) {
        var reg_url = /^[^\?]+\?([\w\W]+)$/,
                reg_para = /([^&=]+)=([\w\W]*?)(&|$)/g, //g is very important
                arr_url = reg_url.exec(url),
                ret = {};
        if (arr_url && arr_url[1]) {
            var str_para = arr_url[1], result;
            while ((result = reg_para.exec(str_para)) != null) {
                ret[result[1]] = result[2];
            }
        }
        return ret;
    }  //使用方法:
    var url = "key0=0&key1=1&key2=&key3=http://www.g.cn?a=1&&b=2";
    var obj = parseQueryString(url);
    console.dir(obj);

技术交流QQ群:15129679

时间: 2024-10-10 07:27:41

URL参数转换对象的相关文章

【JS工具对象系列】(1)URL工具对象

分享自己的js工具对象,如下为URL工具代码: urlUtil={ /** * 返回当前页面的url * @author chencha * @since 2014-07-04 */ getURL: function() { return document.URL; //大写哦! }, /** 返回url参数数组,分别有name和value属性 * @param {String} url - url字符串 * @author chencha * @since 2014-07-04 */ getU

把url转对象

// 实现一个方法,作用就是把url转成对象(要求参数是url,返回值是对象) function formstr(url){ var obj={}; if(url){ //截取字符串 var str=url.substring(url.indexOf('?')+1); var arr=str.split("&");//转成数组 for(var i=0;i<arr.length;i++){ var kv=arr[i].split("="); obj[kv

用window.URL全局对象

1. URL.createObjectURL() 静态方法会创建一个 DOMString,它的 URL 表示参数中的对象.这个 URL 的生命周期和创建它的窗口中的 document 绑定.2.在每次调用 createObjectURL() 方法时,都会创建一个新的 URL 对象,即使你已经用相同的对象作为参数创建过.当不再需要这些 URL 对象时,每个对象必须通过调用 URL.revokeObjectURL() 方法来释放.浏览器会在文档退出的时候自动释放它们,但是为了获得最佳性能和内存使用状

jsp页面通过url传递对象

jsp页面传对象参数的一种办法: 1 参数来源页面 var reportValue = JSON.stringify(json); // var urls = "<%=basePath%>/pages/lcrkfbReport.jsp?orgid="+qjcode+"&data="+ reportValue;  //未编码(含“{”,在tomcat7/8中需要转义) var urls = "<%=basePath%>/pag

将url参数转换成json格式,然后批量给url地址拼接参数

var string_a = urlArr[1]; var string = string_a.split('&'); var res = {}; for(var i = 0;i<string.length;i++){ var str = string[i].split('='); res[str[0]]=str[1]; } var arr = []; for(var o in res){ arr.push(o); var arrLen = arr.length; } var url_1 =

url地址数据参数转化JSON对象(js三种方法实现)

当我们用get方法提交表单时,在url上会显示出请求的参数组成的字符串,例如:http://localhost:3000/index.html?phone=12345678901&pwd=123123,在服务器端我们要获取其中的参数来进行操作,这种情况下,就要对请求过来的网址进行拆解了.下面将用3种方法实现: 1.js原生方法 思路:先通过split拆解?得到字符串phone=12345678901&pwd=123123   ,然后在通过split拆解&符号左右的字符串,最后再通过

URL参数获取/转码

JS中对URL进行转码与解码 1.escape 和 unescape escape()不能直接用于URL编码,它的真正作用是返回一个字符的Unicode编码值. 采用unicode字符集对指定的字符串除0-255以外进行编码.所有的空格符.标点符号.特殊字符以及更多有联系非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字).比如,空格符对应的编码是%20. escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z. esc

BOM的对象总结(location,screen,navigator,history)

location对象 专门保存当前窗口正在打开的url的对象. 常用的属性有: location.href 保存了完整的url:这种方式做常用 在当前窗口打开: location.href=新urllocation.protocol: 协议.host: 主机名+端口号.hostname: 主机名.port: 端口号location.pathname: 相对路径.hash: 锚点地址#xxx.search: 表单提交后地址栏中的查询字符串?变量名=值&变量名=值&... 方法: 1. 在当前

使用ajax和history.pushState无刷新改变页面URL

表现 如果你使用chrome或者firefox等浏览器访问本博客.github.com.plus.google.com等网站时,细心的你会发现页面之间的点击是通过ajax异步请求的,同时页面的URL发生了了改变.并且能够很好的支持浏览器前进和后退. 是什么有这么强大的功能呢? HTML5里引用了新的API,history.pushState和history.replaceState,就是通过这个接口做到无刷新改变页面URL的. 与传统的AJAX的区别 传统的ajax有如下的问题: 1.可以无刷新