4种JavaScript获取链接参数值的方法

学习笔记2023-01-29九凌少子

一:正则获取指定参数值(推荐使用)

通过js获取url参数,这个经常用到。例如一个URL:https://so.yumus.cn/?engine=zhihu,我们想得到参数engine的值,那可以通过以下函数调用即可。

function GetQueryString(name) {
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
    var r = window.location.search.substr(1).match(reg); //获取url中"?"符后的字符串并正则匹配
    var context = "";
    if (r != null)
        context = decodeURIComponent(r[2]);
    reg = null;
    r = null;
    return context == null || context == "" || context == "undefined" ? "" : context;
}
alert(GetQueryString("engine"));

二、正则

function getQueryString(name) {
    var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
    var r = window.location.search.substr(1).match(reg);
    if (r != null) {
        return unescape(r[2]);
    }
    return null;
}
// 这样调用:
alert(GetQueryString("参数名1"));
alert(GetQueryString("参数名2"));
alert(GetQueryString("参数名3"));

三、split拆分法

function GetRequest() {
    var url = location.search; //获取url中"?"符后的字串
    var theRequest = new Object();
    if (url.indexOf("?") != -1) {
        var str = url.substr(1);
        strs = str.split("&");
        for(var i = 0; i < strs.length; i ++) {
            theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
        }
    }
    return theRequest;
}
var Request = new Object();
Request = GetRequest();
// var 参数1,参数2,参数3,参数N;
// 参数1 = Request['参数1'];
// 参数2 = Request['参数2'];
// 参数3 = Request['参数3'];
// 参数N = Request['参数N'];

四、单个参数的获取方法

function GetRequest() {
   var url = location.search; //获取url中"?"符后的字串
   if (url.indexOf("?") != -1) {    //判断是否有参数
      var str = url.substr(1); //从第一个字符开始 因为第0个是?号 获取所有除问号的所有符串
      strs = str.split("=");   //用等号进行分隔 (因为知道只有一个参数 所以直接用等号进分隔 如果有多个参数 要用&号分隔 再用等号进行分隔)
      alert(strs[1]);          //直接弹出第一个参数 (如果有多个参数 还要进行循环的)
   }
}

相关阅读

Windows安装Node.js二进制文件

1、下载Node.js二进制文件 Node.js下载链接:https://nodejs.org/en/download/ 选择你需要的版本,这里我选择了 Windows Binary 64-bit 版本。 2、配置npm安装目录 .zip包下载完成之解压缩,之后在解压之后的文件路径下创建两个文件夹:node-global(npm全局安装位置)和node-cache(npm 缓存路径) 3、设置环境…

学习笔记 2021-06-24
Windows安装Node.js二进制文件

4种JavaScript获取链接参数值的方法

一:正则获取指定参数值(推荐使用) 通过js获取url参数,这个经常用到。例如一个URL:https://so.yumus.cn/?engine=zhihu,我们想得到参数engine的值,那可以通过以下函数调用即可。 二、正则 三、split拆分法 四、单个参数的获取方法

学习笔记 2023-01-29
4种JavaScript获取链接参数值的方法

MacOS安装brew

brew 全称 Homebrew,是 macOS(或 Linux)缺失的软件包的管理器,使用 Homebrew 安装 可以方便快速的安装 macOS(或 Linux 系统)没有预装的软件包。 以上安装命令来自 brew 官方,你只需要在终端输入即可,但考虑到国内网络环境以及便携建议你使用如下命令。 我们在安装 brew 前先检查下电脑上是否已经安装过 brew ,在终端中输入 brew,若返回“z…

学习笔记 2023-03-08
MacOS安装brew

JavaScript监控鼠标滚动方向

近来在优化“框框”主页,涉及到使用鼠标滚轮向下的交互,此段代码来源于CSDN(点击查看原文链接),无需通过获取页面滑动的距离来判断鼠标滚动方向(鼠标是否在某个元素中,是向上还是向下滚动?),正好完全符合我的需求特在此记录以备需要。

学习笔记 2023-02-22
JavaScript监控鼠标滚动方向

网站跟随系统浅/深色模式的方式

本篇文章皆指网站自动跟随系统浅/深色模式,因此无需用户进行手动切换,也不存在需要进行任何前端缓存的问题。 本文教程支持JS或CSS两种方法来处理网站跟随系统浅/深色模式。 一、基于JS的方法 通过JavaScript来获取系统的浅/深色模式,如下代码可以判断出系统当前是否为浅/深色模式: 上述代码做出了判断但还不够,还需要对HTML进行一些改造。 如果当前系统为深色模式,上述JS会自动在页面HTM…

学习笔记 2023-02-18
网站跟随系统浅/深色模式的方式
语幕微信扫码关注公众号
回到顶部