前端必知必会--操作URL的黑科技

栏目: 后端 · 前端 · 发布时间: 6年前

内容简介:现在有这么个URL:www.baidu.com/s?wd=蔡徐坤&skill=篮球&year=2019 ,怎么才能获取query上的字段呢?这时候正则表达式就派上用场了,效果如图:杀鸡焉用牛刀呢,今天我们来学习下专门用来处理URL的query的接口:URLSearchParams 。只需要new一个URLSearchParams的实例即可,代码:

现在有这么个URL:www.baidu.com/s?wd=蔡徐坤&skill=篮球&year=2019 ,怎么才能获取query上的字段呢?这时候正则表达式就派上用场了,效果如图:

前端必知必会--操作URL的黑科技

杀鸡焉用牛刀呢,今天我们来学习下专门用来处理URL的query的接口:URLSearchParams 。

简单使用

只需要new一个URLSearchParams的实例即可,代码:

let url = '?wd=蔡徐坤&skill=篮球&year=2019';
let searchParams = new URLSearchParams(url);

for (let p of searchParams) {
  console.log(p);
}
// ["wd", "蔡徐坤"]
// ["skill", "篮球"]
// ["year", "2019"]
复制代码

获取单个字段

假如现在我只想获取单个字段的值,该怎么办呢?只需要调用这个实例的get方法即可, 代码:

searchParams.get('wd') // "蔡徐坤"
searchParams.get('skill') // "篮球"
searchParams.get('year') // "2019"
复制代码

有时候不知道一个字段是否存在,所以想事先校验下。使用实例的has方法进行判断,代码:

searchParams.has('wd') // true
searchParams.has('age') // false
复制代码

添加字段

实例提供了append方法来添加字段,这个方法接收两个参数,前者是key,后者是value,代码:

searchParams.append('age', 26);
searchParams.has('age'); // true
searchParams.get('age'); // 26
复制代码

删除字段

现在不想要year字段了,直接使用delete即可,代码:

searchParams.delete('year');
searchParams.has('year'); // false
复制代码

设置字段

有时候想重写一个字段,而不是添加(append)一个字段,这时候需要使用set方法,比如,我们觉得坤哥不仅会篮球,还会唱,跳,rap。代码:

searchParams.set('skill', '篮球 唱 跳 rap');
复制代码

转为字符串

修改实例后,有时候需要再转为字符串,进行路由跳转等,使用toString方法

searchParams.toString(); // "wd=蔡徐坤&skill=篮球+唱+跳+rap&year=2019&age=26"
复制代码

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

软件框架设计的艺术

软件框架设计的艺术

[捷] Jaroslav Tulach / 王磊、朱兴 / 人民邮电出版社 / 2011-3 / 75.00元

本书帮助你解决API 设计方面的问题,共分3 个部分,分别指出学习API 设计是需要进行科学的训练的、Java 语言在设计方面的理论及设计和维护API 时的常见情况,并提供了各种技巧来解决相应的问题。 本书作者是NetBeans 的创始人,也是NetBeans 项目最初的架构师。相信在API 设计中遇到问题时,本书将不可或缺。 本书适用于软件设计人员阅读。一起来看看 《软件框架设计的艺术》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具