5 个回答

复制你的完整url,使用这个方法能够直接转换了

String.prototype.parseURL = function() {
    'use strict';
    //url解析
    var url = this.toString()
    var a = document.createElement('a');
    a.href = url;
    return {
        source: url,
        protocol: a.protocol,
        origin: a.origin,
        hostname: a.hostname,
        port: a.port,
        search: a.search,
        file: (a.pathname.match(/\/([^\/?#]+)$/i) || [, ''])[1],
        hash: a.hash.replace('#', ''),
        pathname: a.pathname.replace(/^([^\/])/, '/$1'),
        relative: (a.href.match(/tps?:\/\/[^\/]+(.+)/) || [, ''])[1],
        segments: a.pathname.replace(/^\//, '').split('/'),
        params: (function() {
            var ret = {};
            var seg = a.search.replace(/^\?/, '').split('&').filter(function(v, i) {
                if (v !== '' && v.indexOf('=')) {
                    return true;
                }
            });
            for (var i = 0, element; element = seg[i++];) {
                var idx = element.indexOf('=');
                var key = element.substring(0, idx);
                var val = element.substring(idx + 1);
                ret[key] = val;
            }
            return ret
        })()
    }
};


'http://www.a.com/index.html?a=1&b=2'.parseURL().params//{a:1,b:2}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题