zoukankan      html  css  js  c++  java
  • url 解析

    function parseParam(url) {
                    const paramsStr = /.+?(.+)$/.exec(url)[1]; // 将 ? 后面的字符串取出来
                    //exec() 方法用于检索字符串中的正则表达式的匹配。
                    const paramsArr = paramsStr.split('&'); // 将字符串以 & 分割后存到数组中
                    let paramsObj = {};
                    // 将 params 存到对象中
                    paramsArr.forEach(param => {
                        if (/=/.test(param)) { // 处理有 value 的参数
                            // 数组解构
                            let [key, val] = param.split('='); // 分割 key 和 value
                            val = decodeURIComponent(val); // 解码
                            val = /^d+$/.test(val) ? parseFloat(val) : val; // 判断是否转为数字
                            //test() 方法用于检测一个字符串是否匹配某个模式.
                            if (paramsObj.hasOwnProperty(key)) { // 如果对象有 key,则添加一个值
                                paramsObj[key] = [].concat(paramsObj[key], val);
                                //concat() 方法用于连接两个或多个数组。
                                //该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。
                            } else { // 如果对象没有这个 key,创建 key 并设置值
                                paramsObj[key] = val;
                            }
                        } else { // 处理没有 value 的参数
                            paramsObj[param] = true;
                        }
                    })
    
                    return paramsObj;
                }
    
                let str =
                    'https://www.baidu.com/s?a=1&b=2&a=3'
                console.log(parseParam(str));

    作者:孟繁贵 Email:meng010387@126.com 期待共同进步!

  • 相关阅读:
    什么是tomcat集群?
    cmd黑客入侵命令大全
    Linix基本命令
    Windows CMD命令大全
    python 函数1
    Python 集合(set)使用
    python 数据字典应用
    python 数据运算
    python 数据类型(元组(不可变列表),字符串
    python 数据类型(列表)学习笔记
  • 原文地址:https://www.cnblogs.com/mengfangui/p/14656493.html
Copyright © 2011-2022 走看看