zoukankan      html  css  js  c++  java
  • js-url解析函数

    //Url解析
    		function parseURL(url) {
    		    var a = document.createElement('a');
    		    a.href = url;
    		    return {
    		        source: url,
    		        protocol: a.protocol.replace(':', ''),
    		        host: a.hostname,
    		        port: a.port,
    		        query: a.search,
    		        params: (function () {
    		            var ret = {}, seg = a.search.replace(/^?/, '').split('&'), len = seg.length, i = 0, s;
    		            for (; i < len; i++) {
    		                if (!seg[i]) {
    		                    continue;
    		                }
    		                s = seg[i].split('=');
    		                ret[s[0]] = s[1];
    		            }
    		            return ret;
    		        })(),
    		        file: (a.pathname.match(//([^/?#]+)$/i) || [, ''])[1],
    		        hash: a.hash.replace('#', ''),
    		        path: a.pathname.replace(/^([^/])/, '/$1'),
    		        relative: (a.href.match(/tps?://[^/]+(.+)/) || [, ''])[1],
    		        segments: a.pathname.replace(/^//, '').split('/')
    		    };
    		};
    

      使用方法:

      获取网络协议和获取一个已知参数名的值  

    var url ="http://www.baidu.com?name=aaa";
    console.log(parseURL(url).protocol)//http
    console.log(parseURL(url).params.name)//aaa
    

      

  • 相关阅读:
    SDN作业(4)
    SDN作业(3)
    第一次个人编程作业
    SDN作业(2)
    SDN作业(1)
    第一次博客作业
    浅谈闭包
    预编译And作用域链
    定时器
    window事件
  • 原文地址:https://www.cnblogs.com/xiaochongchong/p/5973777.html
Copyright © 2011-2022 走看看