浅谈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 相关文章推荐
JQUERY CHECKBOX全选,取消全选,反选方法三
Aug 30 Javascript
Javascript字符串浏览器兼容问题分析
Dec 01 Javascript
Javascript实现获取窗口的大小和位置代码分享
Dec 04 Javascript
javascript中alert()与console.log()的区别
Aug 26 Javascript
js弹出对话框方式小结
Nov 17 Javascript
jquery关于事件冒泡和事件委托的技巧及阻止与允许事件冒泡的三种实现方法
Nov 27 Javascript
深入理解Javascript中的观察者模式
Feb 20 Javascript
详解打造 Vue.js 可复用组件
Mar 24 Javascript
JS正则替换去空格的方法
Mar 24 Javascript
ES7之Async/await的使用详解
Mar 28 Javascript
Javascript实现一朵从含苞到绽放的玫瑰
Mar 30 Javascript
react 组件传值的三种方法
Jun 03 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
星际中的相关伤害
2020/03/04 星际争霸
用php将任何格式视频转为flv的代码
2009/09/03 PHP
PHP中is_file不能替代file_exists的理由
2014/03/04 PHP
php输入数据统一类实例
2015/02/23 PHP
PHP+Ajax异步带进度条上传文件实例
2016/11/01 PHP
php使用GD2绘制几何图形示例
2017/02/15 PHP
PHP实现提高SESSION响应速度的几种方法详解
2019/08/09 PHP
跟我一起学写jQuery插件开发方法(附完整实例及下载)
2010/04/01 Javascript
javascript 折半查找字符在数组中的位置(有序列表)
2010/12/09 Javascript
jquery获取下拉列表的值为null的解决方法
2011/03/18 Javascript
微信小程序中顶部导航栏的实现代码
2017/03/30 Javascript
深入理解vue中的$set
2017/06/01 Javascript
JS中用EL表达式获取上下文参数值的方法
2018/03/28 Javascript
Vue render深入开发讲解
2018/04/13 Javascript
详解各版本React路由的跳转的方法
2018/05/10 Javascript
JavaScript笛卡尔积超简单实现算法示例
2018/07/30 Javascript
jQuery实现全选、反选和不选功能的方法详解
2019/12/04 jQuery
详解Python中的序列化与反序列化的使用
2015/06/30 Python
使用Python生成随机密码的示例分享
2016/02/18 Python
理解生产者消费者模型及在Python编程中的运用实例
2016/06/26 Python
python之PyMongo使用总结
2017/05/26 Python
Python读取本地文件并解析网页元素的方法
2018/05/21 Python
pandas通过loc生成新的列方法
2018/11/28 Python
Python基础之文件读取的讲解
2019/02/16 Python
利用python实现在微信群刷屏的方法
2019/02/21 Python
django序列化serializers过程解析
2019/12/14 Python
Python sys模块常用方法解析
2020/02/20 Python
Python基于Dlib的人脸识别系统的实现
2020/02/26 Python
python GUI库图形界面开发之PyQt5动态(可拖动控件大小)布局控件QSplitter详细使用方法与实例
2020/03/06 Python
台湾最大银发乐活百货:乐龄网
2018/05/21 全球购物
Dr. Martens马汀博士澳大利亚官网:马丁靴鼻祖
2019/07/02 全球购物
Intersport西班牙:在线体育商店
2019/11/06 全球购物
Columbia Sportswear法国官网:全球户外品牌
2020/09/25 全球购物
大学生实习感言
2014/01/16 职场文书
幼儿园门卫安全责任书
2015/05/08 职场文书
门卫管理制度范本
2015/08/05 职场文书