芝麻油的生活随记
首页
  • 一坨坨云

    • 好云当赏
  • Java技术

    • 你好Java
  • Spring系列

    • 你好Spring
  • 大数据体系

    • 你好大数据
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript高级程序设计》
    • TypeScript
    • JS设计模式总结
  • 页面

    • 常用meta整理
  • 技术文档
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 分类
  • 标签
  • 归档
收藏
关于

不去明知山

A Lifer
首页
  • 一坨坨云

    • 好云当赏
  • Java技术

    • 你好Java
  • Spring系列

    • 你好Spring
  • 大数据体系

    • 你好大数据
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript高级程序设计》
    • TypeScript
    • JS设计模式总结
  • 页面

    • 常用meta整理
  • 技术文档
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 分类
  • 标签
  • 归档
收藏
关于
  • JavaScript文章

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

  • 学习笔记

  • 前端
  • JavaScript文章
gthree
2020-03-05 12:45:37
目录

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
12

# 修改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 (opens new window)

# 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()

查看文档 (opens new window)

上次更新: 2025/05/15, 16:23:51
防抖与节流函数
比typeof运算符更准确的类型判断

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

最近更新
01
好云当赏
08-20
02
Java入坑 Java
08-07
03
Spring入坑
08-06
更多文章>
Copyright © 2023-2025
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式