zoukankan      html  css  js  c++  java
  • 利用a标签自动解析URL

    对于window.location,我们比较熟悉,它有protocol,hostname,host,port,search,hash,href,pathname等属性,a标签也和window.location一样,也有这样属性,这样可以方便我们分析网址,闲话少说,上代码。

     
     1 function parseURL(url) {
     2     var a =  document.createElement('a');
     3     a.href = url;
     4     return {
     5         source: url,
     6         protocol: a.protocol.replace(':',''),
     7         host: a.hostname,
     8         port: a.port||'80',
     9         query: a.search,
    10         params: (function(){
    11             var ret = {},
    12                 seg = a.search.replace(/^?/,'').split('&'),
    13                 len = seg.length, i = 0, s;
    14             for (;i<len;i++) {
    15                 if (!seg[i]) { continue; }
    16                 s = seg[i].split('=');
    17                 ret[s[0]] = s[1];
    18             }
    19             return ret;
    20         })(),
    21         file: (a.pathname.match(//([^/?#]+)$/i) || [,''])[1],
    22         hash: a.hash.replace('#',''),
    23         path: a.pathname.replace(/^([^/])/,'/$1'),
    24         relative: (a.href.match(/tps?://[^/]+(.+)/) || [,''])[1],
    25         segments: a.pathname.replace(/^//,'').split('/')
    26     };
    27 }
     

    测试地址

    console.log(parseURL("http://www.w3school.com.cn/jsref/dom_obj_anchor.asp?type=2#id2"));

    结果如下

     
     1 {
     2     file: "dom_obj_anchor.asp",
     3     hash: "id2",
     4     host: "www.w3school.com.cn",
     5     params: {type: "2"},
     6     path: "/jsref/dom_obj_anchor.asp",
     7     port: "80",
     8     protocol: "http",
     9     query: "?type=2",
    10     relative: "/jsref/dom_obj_anchor.asp?type=2#id2",
    11     segments: [0: "jsref",1: "dom_obj_anchor.asp"],
    12     source: "http://www.w3school.com.cn/jsref/dom_obj_anchor.asp?type=2#id2"
    13 }
     
  • 相关阅读:
    ORA00257 archiver error. 错误的处理方法
    Eclipse快捷键大全
    struts2 globalresults
    oracle创建表空间
    struts2 action中result参数详解
    struts2小程序登录验证
    清理系统垃圾文件 请命名为:*.bat
    网上免费阅读的计算机编程书籍列表
    eclipse+myeclipse+mysql+tomcat配置数据源
    o(∩_∩)o...哈哈 somethingaboutJAVA
  • 原文地址:https://www.cnblogs.com/tiger95/p/7403323.html
Copyright © 2011-2022 走看看