keyL‘s blog keyL‘s blog
首页
  • 前端文章

    • JavaScript
    • Vue
  • 学习笔记

    • 《JavaScript教程》笔记
    • 《JavaScript高级程序设计》笔记
    • 《ES6 教程》笔记
    • 《Vue》笔记
    • 《TypeScript 从零实现 axios》
    • 小程序笔记
  • HTML
  • CSS
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 学习
  • 面试
  • 心情杂货
  • 友情链接
关于
  • 网站
  • 资源
  • Vue资源
  • 分类
  • 标签
  • 归档
GitHub

key L

前端界的小学生
首页
  • 前端文章

    • JavaScript
    • Vue
  • 学习笔记

    • 《JavaScript教程》笔记
    • 《JavaScript高级程序设计》笔记
    • 《ES6 教程》笔记
    • 《Vue》笔记
    • 《TypeScript 从零实现 axios》
    • 小程序笔记
  • HTML
  • CSS
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 学习
  • 面试
  • 心情杂货
  • 友情链接
关于
  • 网站
  • 资源
  • Vue资源
  • 分类
  • 标签
  • 归档
GitHub
  • JavaScript文章

    • new命令原理
    • ES5面向对象
    • ES6面向对象
    • 多种数组去重性能对比
    • js随机打乱数组
    • 判断是否为移动端浏览器
    • 将一维数组按指定长度转为二维数组
    • 防抖与节流函数
    • JS获取和修改url参数
      • 获取 url 参数
      • 修改 url 参数
      • 不刷新页面修改 url 参数
      • URL 的编码和解码
    • 比typeof运算符更准确的类型判断
  • Vue文章

  • 学习笔记

  • 前端
  • JavaScript文章
lyc
2020-03-05

JS获取和修改url参数

# JS 获取和修改 url 参数

# 获取 url 参数

/**
 * 获取url里的参数
 * @param arg 参数名
 * @returns
 */
function getURLString(arg) {
	var reg = new RegExp("(^|&)" + arg + "=([^&]*)(&|$)", "i");
	var r = window.location.search.substr(1).match(reg);
	if (r != null) return unescape(r[2]);
	return null;
}
1
2
3
4
5
6
7
8
9
10
11

# 修改 url 参数

/**
 * url地址修改
 * @param url 待修改url
 * @param arg 修改的参数名
 * @param arg_val 修改的具体值
 * @returns {String}
 */
function changeURLArg(url, arg, arg_val) {
	var pattern = arg + "=([^&]*)";
	var replaceText = arg + "=" + arg_val;
	if (url.match(pattern)) {
		var tmp = "/(" + arg + "=)([^&]*)/gi";
		tmp = url.replace(eval(tmp), replaceText);
		return tmp;
	} else {
		if (url.match("[?]")) {
			return url + "&" + replaceText;
		} else {
			return url + "?" + replaceText;
		}
	}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

# 不刷新页面修改 url 参数

https://www.cnblogs.com/wuting/p/8946927.html

# URL 的编码和解码

比如,UTF-8 的操作系统上,http://www.example.com/q=春节这个 URL 之中,汉字“春节”不是 URL 的合法字符,所以被浏览器自动转成http://www.example.com/q=%E6%98%A5%E8%8A%82。其中,“春”转成了%E6%98%A5,“节”转成了%E8%8A%82。这是因为“春”和“节”的 UTF-8 编码分别是E6 98 A5和E8 8A 82,将每个字节前面加上百分号,就构成了 URL 编码。

JavaScript 提供四个 URL 的编码/解码方法。

  • encodeURI()
  • encodeURIComponent()
  • decodeURI()
  • decodeURIComponent()

查看文档

编辑
上次更新: 2020/12/28, 20:12:00
防抖与节流函数
比typeof运算符更准确的类型判断

← 防抖与节流函数 比typeof运算符更准确的类型判断→

最近更新
01
TypeScript笔记
10-08
02
CSS教程和技巧收藏
08-11
03
Vuex
08-08
更多文章>
Theme by Vdoing | Copyright © 2019-2021 key L | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式