浅谈js的url解析函数封装


Posted in Javascript onJune 28, 2016

在实际开发中,有些通过get方式与后台交换数据的时候,需要用到的数据在url中,因此就需要我们来获取到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; //len = 2
          alert(a.search)
        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 myURL = parseURL(window.location.href); //通过parseURL函数来解析当前页面的url;window.location.href可替换成任意要解析的url,如果直接写其他的url,格式应该字符串;
var search_obj = myURL.params;//该解析方式是将search的内容解析为对象,方便进行数据的调用;其他方法可以自行尝试;
var url_post = myURL.post;
//当前页面的端口号;

以上就是小编为大家带来的浅谈js的url解析函数封装全部内容了,希望大家多多支持三水点靠木~

Javascript 相关文章推荐
SOSO地图JS画出标注和中心点以html形式运行
Aug 09 Javascript
jQuery弹出框代码封装DialogHelper
Jan 30 Javascript
实现placeholder效果的方案汇总
Jun 11 Javascript
angularjs自定义ng-model标签的属性
Jan 21 Javascript
Node.js编写组件的三种实现方式
Feb 25 Javascript
JavaScript的Backbone.js框架环境搭建及Hellow world示例
May 07 Javascript
Bootstrap3学习笔记(二)之排版
May 20 Javascript
JavaScript 函数模式详解及示例
Sep 07 Javascript
AngularJS中update两次出现$promise属性无法识别的解决方法
Jan 05 Javascript
webpack配置之后端渲染详解
Oct 26 Javascript
vue 项目常用加载器及配置详解
Jan 22 Javascript
如何利用vue实现波谱拟合详解
Nov 05 Javascript
JavaScript中点击事件的写法
Jun 28 #Javascript
js改变style样式和css样式的简单实例
Jun 28 #Javascript
js改变css样式的三种方法推荐
Jun 28 #Javascript
Javascript中获取浏览器类型和操作系统版本等客户端信息常用代码
Jun 28 #Javascript
获取input标签的所有属性的方法
Jun 28 #Javascript
JavaScript ES6的新特性使用新方法定义Class
Jun 28 #Javascript
javascript 常用验证函数总结
Jun 28 #Javascript
You might like
隐藏你的.php文件的实现方法
2007/03/19 PHP
用PHP的超级变量$_POST获取HTML表单(HTML Form) 数据
2011/05/07 PHP
CI框架安全类Security.php源码分析
2014/11/04 PHP
浅谈php中的访问修饰符private、protected、public的作用范围
2016/11/20 PHP
PHP简单实现二维数组赋值与遍历功能示例
2017/10/19 PHP
PHP中检查isset()和!empty()函数的必要性
2019/02/13 PHP
Laravel5.0+框架邮件发送功能实现方法图文与实例详解
2019/04/23 PHP
javascript Array.sort() 跨浏览器下需要考虑的问题
2009/12/07 Javascript
jQuery中jqGrid分页实现代码
2011/11/04 Javascript
Javascript 中的 call 和 apply使用介绍
2012/02/22 Javascript
利用NodeJS的子进程(child_process)调用系统命令的方法分享
2013/06/05 NodeJs
ScrollDown的基本操作示例
2013/06/09 Javascript
将JavaScript的jQuery库中表单转化为JSON对象的方法
2015/11/17 Javascript
Jquery Mobile 自定义按钮图标
2015/11/18 Javascript
基于JavaScript实现移除(删除)数组中指定元素
2016/01/04 Javascript
基于MVC+EasyUI的web开发框架之使用云打印控件C-Lodop打印页面或套打报关运单信息
2016/08/29 Javascript
总结AngularJS开发者最常犯的十个错误
2016/08/31 Javascript
任意Json转成无序列表的方法示例
2016/12/09 Javascript
jQuery模拟窗口抖动效果
2017/03/15 Javascript
详解vue使用vue-layer-mobile组件实现toast,loading效果
2018/08/31 Javascript
nodejs 使用http进行post或get请求的实例(携带cookie)
2019/01/03 NodeJs
基于mpvue搭建微信小程序项目框架的教程详解
2019/04/10 Javascript
JS 图片压缩原理与实现方法详解
2020/04/29 Javascript
解决vue项目运行提示Warnings while compiling.警告的问题
2020/09/18 Javascript
Scrapy的简单使用教程
2017/10/24 Python
Python获取航线信息并且制作成图的讲解
2019/01/03 Python
将python字符串转化成长表达式的函数eval实例
2020/05/11 Python
详解如何修改jupyter notebook的默认目录和默认浏览器
2021/01/24 Python
HTML5 canvas实现雪花飘落特效
2016/03/08 HTML / CSS
世界上最大的专业美容用品零售商:Sally Beauty
2017/07/02 全球购物
运动会开幕式邀请函
2014/01/22 职场文书
煤矿安全演讲稿
2014/05/09 职场文书
大学运动会加油稿200字(5篇)
2014/09/27 职场文书
2014年小学安全工作总结
2014/12/04 职场文书
高三语文教学反思
2016/02/16 职场文书
springboot + mongodb 通过经纬度坐标匹配平面区域的方法
2021/11/01 MongoDB