获取url参数

获取url参数

源码

/**
 *功能描述: 获取url参数
 *参数说明:
 * @param {string} url url地址
 * @return {object}
 */
const querystring = require('querystring');
export const getUrlParams = (url) => {
    if (!url) {
    // 不传参数则默认取当前显示的文档的完整 URL
        url = location.href;
    }
    //url根据?分割成数组:?前为数组第0项,?后为数组第1项
    var queryArr = url.split('?');
    var querys = queryArr.length > 1 ? querystring.parse(queryArr[1]) : {};
    return querys;
};

知识点

  1. split() 方法
    1.1 定义:
    split() 方法用于把一个字符串分割成字符串数组。
    1.2 语法:
    stringObject.split(separator,howmany)
    separator: 必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。
    howmany: 可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。
    1.3 返回值:
    一个字符串数组。该数组是通过在 separator 指定的边界处将字符串 stringObject 分割成子串创建的。返回的数组中的字串不包括 separator 自身。
    但是,如果 separator 是包含子表达式的正则表达式,那么返回的数组中包括与这些子表达式匹配的字串(但不包括与整个正则表达式匹配的文本)。
    1.4 注释:
    如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。
  2. querystring(查询字符串)| Node.js
    2.1 引用:querystring 模块提供用于解析和格式化 URL 查询字符串的实用工具。 可以使用以下方式访问(引用)它:
    const querystring = require(‘querystring’);
    2.2 定义
    querystring.parse() 方法将 URL 查询字符串 str 解析为键值对的集合。
    2.3 语法
    querystring.parse(str[, sep[, eq[, options]]])
    str 要解析的 URL 查询字符串。
    sep 用于在查询字符串中分隔键值对的子字符串。默认值: ‘&’。
    eq 用于在查询字符串中分隔键和值的子字符串。默认值: ‘=’。
    options
    decodeURIComponent 当解码查询字符串中的百分比编码字符时使用的函数。默认值: querystring.unescape()。
    maxKeys 指定要解析的键的最大数量。指定 0 可移除键的计数限制。默认值: 1000。
    2.4 注释
    querystring.parse() 方法返回的对象不是原型地继承自 JavaScript 的 Object。 这意味着典型的 Object 方法如 obj.toString()、 obj.hasOwnProperty() 等都没有被定义并且不起作用。

用法

// 举例:url为 https://erp.group.com/order/orderlist/?searchType=7&searchContent=lisaconway02@yahoo.com
const data = getUrlParams('');
const {searchType, searchContent} = data
if(searchType && searchContent){
// todo
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值