📜  js 获取问号前的单词 - Javascript (1)

📅  最后修改于: 2023-12-03 15:32:24.345000             🧑  作者: Mango

JS获取问号前的单词

在编写网页应用程序时, 经常需要对URL进行解析, 特别是获取URL中的参数值. 经验丰富的JS程序员都会使用正则表达式的特点来解析URL, 如下代码片段:

const url = "http://example.com/?name=tom&age=18";
const match = url.match(/\?(.*)/);
const queryString = match ? match[1] : '';
const params = new URLSearchParams(queryString);

console.log(params.get("name"));  //输出: tom

上面的代码利用正则表达式 /\?(.*)/ 匹配URL中的参数部分, 并使用 URLSearchParams 函数来解析查询参数. 但是, 如果我们只想获取问号后的第一个单词时怎么办呢? 下面是一种简单的实现方式:

const url = "http://example.com/?name=tom&age=18";
const match = url.match(/\?(.*)/);
const queryString = match ? match[1] : '';
const firstParamValue = queryString.split('&')[0].split('=')[1];

console.log(firstParamValue);  //输出: tom

上面的代码首先使用前面的方法匹配URL中的参数部分, 然后使用 split 方法将参数以 & 和 = 分隔成数组, 最后取第一个值的第二个元素即为问号后的第一个单词.

需要注意的是, 上述方法并不是最完备的解决方案. 它只适用于参数只包含一个键值对的场景, 对于参数包含多个键值对的URL可能会出现不可预知的错误. 为了处理更复杂的URL, 应该使用 URL 对象和 URLSearchParams 对象提供的更全面的解析方法.

参考链接: MDN Web Docs