使用 JS 或 Regex 拆分具有多个特殊字符的字符串

Split string with multiple special characters using JS or Regex

我有以下 URL queryString index.html?cars=honda+nissan&price=90+60+70 并且需要删除所有字符 =, +, &。当我链接拆分时 returns split is not a function

期望的输出;

honda
nissan
90
60
70

JS:

const urlSearch = window.location.search;
const param = urlSearch.split('=')[1].split('&');

您应该定义要使用的查询部分,并且您应该以这种方式使用查询

const urlSearch = new URLSearchParams(window.location.search);
const param = urlSearch.get("cars").split('=')[1].split('&');

有关获取查询字符串的更多信息,请查看此处 https://flaviocopes.com/urlsearchparams/

在你的例子中,你想在查询字符串中拆分 car 的字符串,但你没有提到获取它然后使用它,所以数据将是未定义的,当你想调用一个函数时未定义的值将抛出以下错误

(FUNCTION)* is not a function

它可以是任何东西,例如 map 函数或任何其他东西

您可以使用 URL API 来迭代 searchParams

const str = 'http://index.html?cars=honda+nissan&price=90+60+70';

const params = new URL(str).searchParams;

for (const [key, value] of params.entries()) {
  value.split(' ').forEach(el => console.log(el));
}