📜  检查 url 更改 js - Javascript (1)

📅  最后修改于: 2023-12-03 14:55:42.850000             🧑  作者: Mango

检查URL并更改JavaScript

在 JavaScript 中,我们经常需要检查浏览器 URL 并根据需要更改代码。这可能涉及到从 URL 中提取参数,验证 URL 的正确性,或仅仅根据不同的 URL 更改代码行为。在这个教程中,我们将介绍如何检查 URL 并更改 JavaScript。

获取当前URL

在 JavaScript 中,可以通过以下代码获取当前 URL:

var currentUrl = window.location.href;

此代码将返回当前页面的完整 URL,包括“http://”或“https://”。如果你想获取另一个特定页面的 URL,你可以在 window.location.href 的值中更改页面路径。例如,要获取“http://example.com/test.html”的URL,可以这样做:

var specificUrl = "http://example.com/test.html";
从URL中提取参数

有时候,我们需要从 URL 中提取特定的参数以便执行相应的行为。例如,在以下 URL 中:

http://example.com/test.html?name=John&age=30

我们可以从 URL 中提取出 nameage 参数。在 JavaScript 中,可以使用以下代码:

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

var name = getParameterByName('name');
var age = getParameterByName('age');

getParameterByName 函数将返回 URL 中特定参数的值。在本例中,name 的值为 Johnage 的值为 30

验证URL的正确性

有时候,我们需要验证 URL 是否符合特定的格式,例如是否包含特定的子域名或路径。在 JavaScript 中,可以使用正则表达式来验证 URL。例如,在以下 URL 中:

http://example.com/test.html

我们可以使用以下代码来检查它是否符合特定的格式:

var url = "http://example.com/test.html";
var regex = /^(http:\/\/www\.|https:\/\/www\.|http:\/\/|https:\/\/)?[a-zA-Z0-9]+([\-\.]{1}[a-zA-Z0-9]+)*\.[a-zA-Z]{2,5}(:[0-9]{1,5})?(\/.*)?$/;
if(regex.test(url)) {
  // URL is valid
} else {
  // URL is not valid
}

在此示例中,我们使用正则表达式在 URL 中匹配特定的子域名和路径格式,如果 URL 符合特定格式,则 if 语句将执行正确的操作。

更改JavaScript行为

一旦我们知道了 URL,提取了参数或验证了 URL 的正确性,我们就可以更改 JavaScript 的行为。例如,我们可以将页面上的元素更改为 URL 中特定的参数值:

var name = getParameterByName('name');
document.getElementById("name").innerHTML = name;

在此例中,我们在页面上找到了 ID 为 "name" 的元素并将其更改为 URL 中的 name 参数值。

结论

在 JavaScript 中,我们可以使用内置的 window.location 对象来获取当前的 URL。我们还可以使用正则表达式来验证 URL 是否符合特定的格式。最后,我们可以使用从 URL 中提取的参数来更改 JavaScript 的行为。