正在提取JavaScript中的URL参数值

Extracting a URL parameter value in JavaScript

本文关键字:URL 参数 中的 JavaScript 提取      更新时间:2023-09-26

我有以下函数(我没有写)来提取URL参数值:

function getURLParameter(name) {
    return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search) || [, ""])[1].replace(/'+/g, '%20')) || null
}

我几乎没有正则表达式的经验。此代码当前对参数名称进行区分大小写的搜索。我想让RegExp对参数的名称进行不区分大小写的搜索。有人能告诉我如何改变这一点来实现这一点吗?

为regexp添加i标志(更多信息):

new RegExp('your regexp', 'i')

我一直在使用一些可能会有所帮助的东西,因为我需要做一些非常类似的事情,下拉当前页面URL的子字符串,然后传递到一个变量中,以便在我的几个函数中使用。

以下是我的URL的通用格式:

file:///Users/myname/folder/teamname.html

下面是我如何解析它们的:

function parseURL() {
  var match = window.location.href.match(/('w+).html$/);
  if (match) {
    return match[1];
  }
  return null;
}

这样做:

1) 检查当前页面的URL2) 将URL解析为数组的两个不同片段:"teamname"answers"html"3) 然后我返回匹配[1],即"队名"

我如何使用它:

从那里,我为parseURL函数声明一个变量,如下所示:

var teamSched = parseURL();

因此,现在,我可以使用上面概述的相同URL语法对任何页面进行动态调用,以使用parseURL()中的页面特定变量执行特定代码。然后,我使用该变量从代码中的对象生成唯一的数据集,这些对象的关键字与parseURL()创建的"团队名称"变量匹配。

如果我错了,肯定会有人纠正我,但大小写敏感性不应该是一个因素,只要你通过parseURL从URL中提取的值与你试图访问的变量、对象键等匹配。

我希望这能有所帮助!