浅谈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 相关文章推荐
Moment.js 不容错过的超棒Javascript日期处理类库
Apr 15 Javascript
Jquery倒计时源码分享
May 16 Javascript
JS控制表单提交的方法
Jul 09 Javascript
前端常见跨域解决方案(全)
Sep 19 Javascript
arcgis for js栅格图层叠加(Raster Layer)问题
Nov 22 Javascript
webstorm和.vue中es6语法报错的解决方法
May 08 Javascript
Vue.use源码学习小结
Jun 20 Javascript
用Node提供静态文件服务的方法
Jul 06 Javascript
vue devtools的安装与使用教程
Aug 08 Javascript
node之本地服务器图片上传的方法示例
Mar 26 Javascript
webpack DllPlugin xxx is not defined解决办法
Dec 13 Javascript
JavaScript中10个Reduce常用场景技巧
Jun 21 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 base64+gzinflate压缩编码和解码代码
2008/10/03 PHP
php与php MySQL 之间的关系
2009/07/17 PHP
php中随机显示图片的函数代码
2011/06/23 PHP
从康盛产品(discuz)提取出来的模板类
2011/06/28 PHP
php使用date和strtotime函数输出指定日期的方法
2014/11/14 PHP
基于CI框架的微信网页授权库示例
2016/11/25 PHP
PHP htmlspecialchars()函数用法与实例讲解
2019/03/08 PHP
php如何把表单内容提交到数据库
2019/07/08 PHP
Span元素的width属性无效果原因及解决方案
2010/01/15 Javascript
jquery中实现简单的tabs插件功能的代码
2011/03/02 Javascript
js给onclick事件赋值,动态传参数实例解说
2013/03/28 Javascript
javascript显示用户停留时间的简单实例
2013/08/05 Javascript
JavaScript解析URL参数示例代码
2013/08/12 Javascript
node.js中的fs.link方法使用说明
2014/12/15 Javascript
JS实现简洁、全兼容的拖动层实例
2015/05/13 Javascript
jQuery实现页面顶部显示的进度条效果完整实例
2015/12/09 Javascript
javascript自动切换焦点控制效果完整实例
2016/02/02 Javascript
JS 对象(Object)和字符串(String)互转方法
2016/05/20 Javascript
js HTML5手机刮刮乐代码
2020/09/29 Javascript
Vue.js教程之axios与网络传输的学习实践
2017/04/29 Javascript
小程序scroll-view组件实现滚动的示例代码
2018/09/20 Javascript
vue中各种通信传值方式总结
2019/02/14 Javascript
教你用Type Hint提高Python程序开发效率
2016/08/08 Python
Python文件操作,open读写文件,追加文本内容实例
2016/12/14 Python
Django 限制用户访问频率的中间件的实现
2018/08/23 Python
python实现ID3决策树算法
2018/08/29 Python
python hook监听事件详解
2018/10/25 Python
浅谈python中统计计数的几种方法和Counter详解
2019/11/07 Python
解决TensorFlow GPU版出现OOM错误的问题
2020/02/03 Python
python属于哪种语言
2020/08/16 Python
Python大批量搜索引擎图像爬虫工具详解
2020/11/16 Python
Python3+Appium安装及Appium模拟微信登录方法详解
2021/02/16 Python
一道SQL面试题
2012/12/31 面试题
教师一岗双责责任书
2014/04/16 职场文书
优秀高中学生评语
2014/12/30 职场文书
python playwright之元素定位示例详解
2022/07/23 Python