zoukankan      html  css  js  c++  java
  • javascript parseUrl函数解析url获取网址url参数

     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, 
     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 } 

    使用实例:

     1 var myURL = parseURL('http://abc.com:8080/dir/index.html?id=255&m=hello#top'); 
     2 myURL.file; // = 'index.html' 
     3 myURL.hash; // = 'top' 
     4 myURL.host; // = 'abc.com' 
     5 myURL.query; // = '?id=255&m=hello' 
     6 myURL.params; // = Object = { id: 255, m: hello } 
     7 myURL.path; // = '/dir/index.html' 
     8 myURL.segments; // = Array = ['dir', 'index.html'] 
     9 myURL.port; // = '8080' 
    10 myURL.protocol; // = 'http' 
    11 myURL.source; // = 'http://abc.com:8080/dir/index.html?id=255&m=hello#top'
  • 相关阅读:
    jquery 里面对数组去重操作-unique
    jquery序列化form表单
    [转载]说说JSON和JSONP,也许你会豁然开朗,含jQuery用例
    AMD和CMD的区别
    CSS中!important的使用
    HTML的map-area的使用
    CSS Sprite 精灵图
    UA 用户代理
    IE haslayout
    心情随笔
  • 原文地址:https://www.cnblogs.com/lazb/p/10144471.html
Copyright © 2011-2022 走看看