JavaScript使用URLSearchParams获取查询字符串的值(query string)

Firefox 44+, Opera 36+ and Chrome 49+ 已经支持 URLSearchParams API。

基本用法

let params = new URLSearchParams(location.search.slice(1));

直接使用location.search需要把开始的问号"?"去掉。例子里使用slice(1)来去掉“?”。

使用URL构造

除了直接使用URLSearchParams构造查询参数外,也可以使用URL来构造

let params = (new URL(location)).searchParams;

获取/添加参数

构造出URLSearchParams后,可以使用

  • get(key):获取参数值
  • set(key,value):设置参数值
  • append(key,value):添加参数值

polyfill

并不是所有的浏览器都支持URLSearchParams API,为了在多个浏览器支持,可以添加URLSearchParams polyfill 。

版权声明:著作权归作者所有。

相关推荐

Java 8/9使用Stream获取字符出现在字符串的索引列表

需求是这样的:输入一个字符串和一个字符,返回此字符出现在字符串里的所有索引。可以使用for循环迭代字符串可以实现此需求。考虑了下java8和java9的实现方案。java 8使用IntStream的实现方案public static List<Integer> getIndexes(String s, char c)

JavaScript(ES6)判断字符串是否包含子字符串的方法

ES6 includesES6的字符串新增了includes方法,我们可以用它来判断是否包含子字符串。str.includes(searchString[, position]) searchString:查询的子字符串position:可选,开始搜索的位置,默认为0'Blue Whale'.includes('Blue'); // returns

Python:字符串和datetime的转换

Python的字符串和时间的转换可以分别使用strptime和strftime。strptime(string parse time)datetime.strptime(date_string, format),根据format指定的时间格式解析用于表示时间的字符串date_string。>>>from datetime import&nb

Java 9:紧凑字符串(Compact String)

目前Java的String实现是把字符串存放在一个char类型的数组里,char占用两个字节(16位)。但是String作为很常用的类,在很多时候它只包含Latin-1里的字符,这些字符只需要一个字节(8位)存储,所以在这种情况下很容易造成空间的浪费。Java 9引进紧凑字符串来解决这个问题。使用UTF-16字符数组,或者是1字节的数组加上一个编码标识符来存储字符串。如果字符串的内容都是