浅析JS获取url中的参数实例代码

yizhihongxing

首先,获取URL中的参数是Web开发经常需要的功能。JavaScript提供了多种方式可以获取URL参数,本文将介绍其中两种最常见的方式:URLSearchParams和正则表达式。

使用URLSearchParams

URLSearchParams是一个原生对象,主要用来操作URL查询参数。使用URLSearchParams获取URL参数非常方便。

我们可以用如下代码创建一个URLSearchParams对象:

const urlParams = new URLSearchParams(window.location.search);

这个新建的URLSearchParams对象会自动从当前网页的URL中获取查询参数。如果你想获取另外一个链接中的参数,只需把该链接作为参数传递给URLSearchParams构造函数即可。

一旦我们有了urlParams对象,我们就可以通过调用get()、getAll()、has()、set()、delete()、keys()、values()和entries()方法对其进行查询和修改。下面是几个例子。

获取指定参数的值

const myParam = urlParams.get('myParam');
console.log(myParam);

检查是否存在参数

if (urlParams.has('myParam')) {
    // do something
}

使用正则表达式

虽然URLSearchParams是一种非常方便的获取URL参数的方法,但有些时候我们还是需要使用正则表达式来取得它们。

下面是一些正则表达式的示例。

获取所有参数

const url = window.location.href;
const pattern = /[?&](\w+)=([^&#]*)/g;
let params = {};
let match;
while (match = pattern.exec(url)) {
    params[match[1]] = decodeURIComponent(match[2]);
}
console.log(params);

获取指定参数的值

function getParameterByName(name, url = window.location.href) {
    name = name.replace(/[\[\]]/g, '\\$&');
    const regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)');
    const results = regex.exec(url);
    if (!results) {
        return null;
    }
    if (!results[2]) {
        return '';
    }
    return decodeURIComponent(results[2].replace(/\+/g, ' '));
}
console.log(getParameterByName('myParam'));

以上就是使用URLSearchParams和正则表达式获取URL参数的MarkDown文档攻略,希望对您有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:浅析JS获取url中的参数实例代码 - Python技术站

(0)
上一篇 2023年6月15日
下一篇 2023年6月15日

相关文章

  • 应用程序类加载器的作用是什么?

    应用程序类加载器的作用: Java应用程序在运行时,需要加载大量的类,这些类通常是由JDK自带的类库,以及我们自己编写的类组成的。为了保证程序可以正常运行,Java虚拟机需要通过类加载器来将这些类加载到内存中。而应用程序类加载器就是其中一种类加载器,其主要作用是从特定路径加载class文件到内存中,是类加载器中最常用的一种。 使用攻略: 首先需要了解应用程序…

    Java 2023年5月10日
    00
  • 详解spring security安全防护

    详解Spring Security安全防护 什么是Spring Security Spring Security是Spring Framework的子项目,它提供了一种基于Spring的安全框架来保护Java应用程序。Spring Security可以处理身份验证和授权,可以保护Web应用程序和非Web应用程序。 Spring Security的核心概念 S…

    Java 2023年5月20日
    00
  • 详解Spring Security中权限注解的使用

    下面为你详细讲解“详解Spring Security中权限注解的使用”的攻略。 1. Spring Security中权限注解的概述 Spring Security中的权限注解可以轻松的控制方法或者类的访问权限,对于企业级应用开发中,权限的控制至关重要,因为这不仅是对数据安全的一种保障,同时也是提高整个应用的稳定性和可靠性的重要方式。 在Spring Sec…

    Java 2023年5月20日
    00
  • 什么是类加载机制?

    以下是关于类加载机制的详细讲解: 什么是类加载机制? 类加载机制是 Java 虚拟机(JVM)在运行时将类的字节码加载到内存,并转换 Java 类的过程。加载机制是 Java 语言的核心机制之一,它负责将类的字节码加载到内存中,并在运行时动态和初始化类。 类加载机制包括以下三个步骤: 加载:将类的字节码加载到内存中。 链接将类的二进制数据合并到 Java 运…

    Java 2023年5月12日
    00
  • 关于SQL注入绕过的一些知识点

    关于SQL注入绕过的知识点,这是一项非常复杂的话题,需要掌握的知识点比较多,下面我会给大家详细解析。 1.理解SQL注入的定义 我们首先需要清楚SQL注入是什么,顾名思义,SQL注入就是对网站中使用的SQL语句进行注入,从而达到非法获取数据或者控制网站的目的。这种攻击方式是因为开发者在编写代码的时候没有进行充分的输入验证而导致网站的漏洞造成的。 2. 理解S…

    Java 2023年6月15日
    00
  • C# 中Excel导入时判断是否被占用三种方法

    下面是详细讲解 “C# 中 Excel 导入时判断是否被占用三种方法” 的完整攻略。 一、需求说明 在使用 C# 程序导入 Excel 数据时,可能会遇到一个问题,即当 Excel 文件正在被其他程序占用时,程序无法正确读取数据。因此我们需要通过一些方法判断 Excel 文件是否被其他程序占用。 二、方法一 第一种方法是通过 try…catch 来判断 …

    Java 2023年5月19日
    00
  • SpringBoot3.0自定stater模块的操作流程(chatGPT提供的49种场景)

    Spring Boot 3.0 自定义 Starter 模块的操作流程 Spring Boot 3.0 是一个快速构建 Spring 应用程序的框架,它提供了许多便利的功能,例如自动配置、嵌入式服务器和健康检查等。在本文中,我们将详细讲解 Spring Boot 3.0 自定义 Starter 模块的操作流程。 什么是 Starter 模块 Starter …

    Java 2023年5月15日
    00
  • Spring Security登录表单配置示例详解

    下面我将详细讲解“Spring Security登录表单配置示例详解”。 什么是Spring Security? Spring Security是一种基于Spring框架的安全认证和授权的框架。它提供了很多功能,如身份验证、访问控制、凭证管理、会话管理等,可以帮助我们轻松地保护web应用程序。在Spring Boot应用程序中,只需要简单地加上几个依赖就能快…

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部