js 处理URL实用技巧

yizhihongxing

JS处理URL实用技巧

在前端开发中,我们经常需要对URL进行各种处理,例如从URL中提取参数、修改参数、获取当前页面URL等等。在本篇文章中,我们将探讨常用的JS处理URL实用技巧。

接收URL参数

我们可以使用window.location.search来获取URL中的查询参数,然后再用正则表达式或其他方法提取所需的参数。

function getUrlParam(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;
}

//示例
var id = getUrlParam('id'); //获取id参数的值
console.log(id);

此处的getUrlParam()函数接收一个参数name,然后使用正则表达式匹配URL中的查询参数,如果找到了name参数,则返回它的值;否则返回null。

更改URL参数

我们可以使用window.location.search来获取URL中的查询参数,然后再使用字符串替换等方法来修改所需的参数。

function setUrlParam(url, key, value){
  var urlObj = new URL(url);
  urlObj.searchParams.set(key,value)
  return urlObj.toString()
}

//示例
var url = 'https://www.example.com?name=alice&age=20';
var newUrl = setUrlParam(url, 'age', '18');
console.log(newUrl); //'https://www.example.com?name=alice&age=18'

此处的setUrlParam()函数接收三个参数:URL、要更改的参数的名称和更改后的参数值。函数使用URL对象解析URL,使用searchParams.set()方法更改指定参数的值,最后将新的URL返回。

获取当前页面URL

我们可以使用window.location.href来获取当前页面的URL。如果需要获取当前页面的其他部分,例如域名、协议、路径等,我们可以使用window.location对象的其他属性。例如:

console.log(window.location.href); //获取当前页面的完整URL
console.log(window.location.host); //获取当前页面的域名和端口号
console.log(window.location.protocol); //获取当前页面的协议
console.log(window.location.pathname); //获取当前页面的相对路径
console.log(window.location.origin); //获取当前页面的域名和协议

以上是常用的JS处理URL实用技巧,希望能帮助你更好地处理URL相关的问题。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js 处理URL实用技巧 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • js时间日期格式化封装函数

    下面我将详细讲解“js时间日期格式化封装函数”的完整攻略。 什么是时间日期格式化? 时间日期格式化就是将日期和时间类型的数据按照一定的格式进行展示,常见的格式有以下几种: 年月日时分秒:YYYY-MM-DD HH:mm:ss 年月日:YYYY-MM-DD 时分秒:HH:mm:ss 为什么要进行时间日期格式化? 在实际的开发中,时间日期的格式可能会影响到展示和…

    JavaScript 2023年5月27日
    00
  • JavaScript程序员应该知道的45个实用技巧

    JavaScript程序员应该知道的45个实用技巧,是一篇有关于JavaScript编程的高质量技术指南。该指南列举了45个实用技巧,帮助JavaScript程序员更有效率和高效地工作。 以下是该攻略的完整说明: 目录 第1条:使用console.table格式化输出 第2条:使用Array.from()将类数组对象转换为数组 第3条:使用Array.isA…

    JavaScript 2023年5月18日
    00
  • JavaScript 箭头函数的特点、与普通函数的区别

    JavaScript 箭头函数是 ES6 新增的一个语法特性,它可以简化函数的书写形式,同时也具有一些独特的特点与普通函数不同。下面将详细讲解 JavaScript 箭头函数的特点、与普通函数的区别。 JavaScript 箭头函数的特点 JavaScript 箭头函数的特点如下: 箭头函数使用 => 符号定义; 箭头函数不需要使用 function …

    JavaScript 2023年5月27日
    00
  • 纯JS实现表单验证实例

    下面是“纯JS实现表单验证实例”的完整攻略: 概述 在网站开发中,表单验证是一个必不可少的功能之一。通过表单验证,可以确保用户输入的数据的正确性和安全性,并且提高网站的交互体验。本篇攻略将详细介绍如何使用纯JS实现表单验证,并提供两个示例说明。 实现步骤 获取表单元素和相关参数 在JS脚本中使用document.getElementById()等方法获取需要…

    JavaScript 2023年6月10日
    00
  • Javascript中的作用域和上下文深入理解

    Javascript中的作用域和上下文深入理解 在理解Javascript中的作用域和上下文之前,需要先了解一些基本的概念。 作用域 作用域定义了变量和函数的可访问性。在Javascript中,作用域分为全局作用域和函数作用域。全局作用域是在整个程序中都可访问的作用域,而函数作用域只有在函数内部才能访问。 var关键字的作用域 使用var关键字声明的变量的作…

    JavaScript 2023年6月10日
    00
  • js实现class样式的修改、添加及删除的方法

    Javascript可以通过操作DOM元素来实现对class样式的修改、添加及删除。 修改class样式的方法 要修改DOM元素的class属性,可以使用classList属性,该属性包含了添加、删除和切换class的方法。 const element = document.querySelector(".target-element")…

    JavaScript 2023年5月19日
    00
  • 详解JavaScript实现监听路由变化

    那么就让我来详细讲解一下“详解JavaScript实现监听路由变化”的完整攻略吧。 一、引言 当我们使用现代化 JavaScript 框架时,我们通常需要动态地更新页面视图以匹配 URL 路径中的路由而不进行任何页面重新加载。这就是我们需要路由监听的原因,以更新浏览器 URL 的时候同时不需要全量渲染页面。在本文中,我们会一起探讨如何实现 JavaScrip…

    JavaScript 2023年5月27日
    00
  • JS 设置Cookie 有效期 检测cookie

    下面是 JS 设置 Cookie 有效期、检测 Cookie 的完整攻略。 设置 Cookie 有效期 通过设置 Cookie 的过期时间,可以让 Cookie 在指定时间内有效,超过指定时间后自动失效。接下来,我们将通过两条示例来展示如何设置 Cookie 有效期。 示例一:使用 Expires 属性 Expires 属性是设置 Cookie 生命周期的一…

    JavaScript 2023年6月11日
    00
合作推广
合作推广
分享本页
返回顶部