截取url中的参数(支持截取一个或全部)

截取url中的参数(支持以截取一个或全部)

代码:

getParamByUrl: function(url, par) {
    console.log(url);
    var fileUrl = ''; //文件地址
    var listParam = ''; //参数集合
    var listParamObj = {}; //
    var listParamArr = ''; //包含所有参数
    //去掉hash
    url = url.split('#')[0];
    //获取文件地址
    fileUrl = url.split('?')[0];
    listParam = url.split('?');
    if (listParam.length > 1) {
        listParam.shift();
        var listParam2 = listParam.join();
        listParamArr = listParam2.split('&');
        listParamArr.forEach(function(ele) {
            var temp = ele.split('=');
            listParamObj[temp[0]] = temp[1];
        });
    } else {
        console.log('没有参数');
    }
    if (par == 'allparam') {
        //返回全部参数
        return listParamObj;
    } else {
        //返回指定参数
        for (const key in listParamObj) {
            if (key == par) {
                return JSON.parse('{' + '"' + par + '"' + ':' + '"' + listParamObj[par] + '"' + '}');
            } else {
                console.log('没有传入的参数');
            }
        }
    }
},

调用:

alert(JSON.stringify(that.getParamByUrl(url, ‘allparam’)));

其中:url表示被截取的URL地址,第二个参数表示需要获取的参数的key,传入allparam则表示获取全部参数。返回值是json格式。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小勇DW3

类加载过程中几个重点执行顺序整理

1、 JVM会先去方法区中找有没有相应类的.class存在。如果有,就直接使用;如果没有,则把相关类的.class加载到方法区

2972
来自专栏Java 源码分析

Java 虚拟机运行时数据区

运行时数据区: Java 虚拟机的运行时数据区按照大的可以分为线程独立使用的数据区,和所有线程共享的数据区。 一.线程独立使用数据区 1.程序计数器 程序计数器...

2685
来自专栏数据结构与算法

3185 队列练习 1

3185 队列练习 1 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 给定一...

3026
来自专栏Zephery

2017-03-01学习笔记

知识点 1.java中只有值传递,没有引用传递http://guhanjie.iteye.com/blog/1683637 2.final关键字 final修饰...

3648
来自专栏Java大联盟

Java面试手册:核心基础-3

2.数组有没有length()这个方法? String有没有length()这个方法?

1583
来自专栏mukekeheart的iOS之旅

Java基础——异常体系

在Java中,异常对象都是派生于Throwable类的一个实例,Java的异常体系如下图所示: ?    所有的异常都是由Throwable继承而来,在下一层立...

2797
来自专栏向治洪

java造成内存泄露原因

一、Java内存回收机制  不论哪种语言的内存分配方式,都需要返回所分配内存的真实地址,也就是返回一个指针到内存块的首地址。Java中对象是采用new或者反射的...

24010
来自专栏转载gongluck的CSDN博客

Lua学习笔记

--Lua笔记-- --0.Lua开篇-- --http://www.cnblogs.com/stephen-liu74/archive/2012/06/11/...

5486
来自专栏coding

redis列表list类型详解

4932
来自专栏技术小站

编程填空:第i位替换 编程填空:第i位取反 编程填空:左边i位取反

写出函数中缺失的部分,使得函数返回值为一个整数,该整数的第i位和m的第i位相同,其他位和n相同。

2031

扫码关注云+社区

领取腾讯云代金券