You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JavaScript中获取URL中同名的多组参数(如brand)?

获取URL中带索引的brand参数值

通用思路

  1. 解析URL的查询字符串,提取所有参数键值对
  2. 用正则匹配符合brand[数字]格式的参数键
  3. 收集匹配到的参数值(可选择保留索引与值的对应关系)
  4. 根据收集结果判断是否存在目标参数

JavaScript 实现

const url = 'https://www.test.com/test.html?categoryid=4&test1=12&test2=65&brand[0]=val1&brand[1]=val2&test3=15';
const params = new URL(url).searchParams;
const brandValues = [];
const brandIndexedParams = {};

// 遍历所有查询参数
for (const [key, value] of params) {
  const keyMatch = key.match(/^brand\[(\d+)\]$/);
  if (keyMatch) {
    brandValues.push(value);
    brandIndexedParams[keyMatch[1]] = value;
  }
}

// 输出结果
if (brandValues.length) {
  console.log('所有brand参数值:', brandValues);
  console.log('带索引的brand参数:', brandIndexedParams);
} else {
  console.log('未找到任何brand参数');
}

Python 实现

import re
from urllib.parse import urlparse, parse_qs

url = 'https://www.test.com/test.html?categoryid=4&test1=12&test2=65&brand[0]=val1&brand[1]=val2&test3=15'
parsed = urlparse(url)
query_params = parse_qs(parsed.query)

brand_values = []
brand_indexed_params = {}

for key in query_params:
    match_result = re.match(r'^brand\[(\d+)\]$', key)
    if match_result:
        # parse_qs返回的是列表,取第一个元素(单个参数不会重复)
        param_value = query_params[key][0]
        brand_values.append(param_value)
        brand_indexed_params[match_result.group(1)] = param_value

# 输出结果
if brand_values:
    print('所有brand参数值:', brand_values)
    print('带索引的brand参数:', brand_indexed_params)
else:
    print('未找到任何brand参数')

内容的提问来源于stack exchange,提问作者Klaus Mikaelson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 08:15:54