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'

来源:http://www.jb51.net/article/23881.htm

javascript parseUrl函数(来自国外的获取网址url参数)的更多相关文章

  1. javascript parseUrl函数解析url获取网址url参数

    function parseURL(url) { var a = document.createElement('a'); a.href = url; return { source: url, pr ...

  2. JavaScript 在函数中使用Ajax获取的值作为函数的返回值

    解决:JavaScript 在函数中使用Ajax获取的值作为函数的返回值,结果无法获取到返回值 原因:ajax默认使用异步方式,要将异步改为同步方式 案例:通过区域ID,获取该区域下所有的学校 var ...

  3. Javascript 获取链接(url)参数的方法

    有时我们需要在客户端获取链接参数,一个常见的方法是将链接当做字符串,按照链接的格式分解,然后获取对应的参数值.本文给出的就是这个流程的具体实现方法. 当然,我们也可以用正则直接匹配,文章中也给出了一个 ...

  4. Asp获取网址相关参数大全

      Asp获取网址相关参数大全 代码一:[获取地址中的文件名,不包含扩展名]<%dim Url,FileName,File Url=split(request.servervariables(& ...

  5. 获取浏览器url参数

    //获取浏览器url参数 var methods ={ getQueryString: function (name) { var reg = new RegExp('(^|&)' + nam ...

  6. Javascript/jQuery 获取地址栏URL参数的方法

    1.jquery获取url很简单,代码如下 window.location.href; 2.javascript获取url参数 function getUrlParam(name) { var reg ...

  7. Js获取指定Url参数

    在 C#.PHP.JSP 中,都有直接获取 Url 中指定参数的方法,但 Javascript 却没有这样的现在方法,得自己写一个.在 Web 的开发过程中,获取 Url 中的参数是十分常用的操作,所 ...

  8. js获取当前url参数

    //抓取url参数 function GetRequest() { var url = location.search; //获取url中"?"符后的字串 var theReque ...

  9. javascript/jquery获取地址栏url参数的方法

    1.jquery获取url window.location.href; 2.通过javascript是如何获取url中的某个参数 function getUrlParam(name) { var re ...

随机推荐

  1. 微软BI 之SSIS 系列 - 使用 Multicast Task 将数据同时写入多个目标表,以及写入Audit 与增量处理信息

    开篇介绍 在 SSIS Data Flow 中有一个 Multicast 组件,它的作用和 Merge, Merge Join 或者 Union All 等合并数据流组件对比起来作用正好相反.非常直观 ...

  2. Spark GraphX实例(2)

    5. 图的转换操作 图的转换操作主要有以下的方法: (1) Graph.mapVertices():对图的顶点进行转换,返回一张新图: (2) Graph.mapEdges():对图的边进行转换,返回 ...

  3. Django中使用Celery,定制应用程序中定义的shared_task未在定期任务管理页面的注册任务中显示

    解决办法: 在项目 proj/proj/celery.py文件中,看到下面这行配置: celery_app.config_from_object('django.conf:settings', nam ...

  4. 【PMP】项目采购管理~重点知识

    1.合同的类型与区别 固定总价(FFP):大多数买方都喜欢这种合同,因为货物的采购价格在一开始就已确定,并且不允许改变(除非工作范围发生变更) 总价加激励费用(FPIF):这种总价合同给买方和卖方提供 ...

  5. JavaScript回调函数的实现

    https://github.com/forsigner/blog/blob/master/source/_posts/javascript-callback.md 在JavaScript中,回调函数 ...

  6. ios中输入框的父类--文本框,DataPick,pickerview

    父控制器 #import <UIKit/UIKit.h> #import "ScrollViewExt.h" @interface BaseKeyBoardCtrl : ...

  7. JSP 性能优化

    无论当前 JavaScript 代码是内嵌还是在外链文件中,页面的下载和渲染都必须停下来等待脚本执行完成.JavaScript 执行过程耗时越久,浏览器等待响应用户输入的时间就越长.浏览器在下载和执行 ...

  8. Android 得到照片位置信息

    目前Android SDK定义的Tag有:TAG_DATETIME    时间日期TAG_FLASH   闪光灯TAG_GPS_LATITUDE   纬度TAG_GPS_LATITUDE_REF  纬 ...

  9. 为什么要用 Node.js

    每日一篇优秀博文 2017年10月10日 周二 为什么要用 Node.js 这是一个移动端工程师涉足前端和后端开发的学习笔记,如有错误或理解不到位的地方,万望指正. Node.js 是什么 传统意义上 ...

  10. Asp.Net 导入Excel自动获取表名

    public static DataSet ReadExcel(string Path, string fileType) { //服务器需要安装驱动 //http://download.micros ...