首页 > 解决方案 > JavaScript - 在 URL 中的两个字符之间获取字符串的更简洁的方法?

问题描述

有没有比这更简洁或更标准的方法来获取 URL 的最后一个斜杠和查询问号之间的字符串?

const recordId= window.location.href.split("item/")[1].split("?")[0]

在这种情况下,我使用item/的是因为我的 URL 总是:

mysite.com/item/recordIdIwantToGrab ? foo =bar&life=42

标签: javascript

解决方案


正则表达式可以做到这一点 - 匹配 a /,后跟单词字符,直到 a ?

const str = 'mysite.com/item/recordIdIwantToGrab?foo=bar&life=42';
const result = str.match(/\/(\w+)\?/)[1];
console.log(result);

  • \/- 匹配文字/
  • (\w+)- 捕获组,匹配单词字符
  • \- 匹配文字?
  • [1]- 提取捕获组匹配的值

推荐阅读