jQuery从url获取数组值

Jef*_*rey 3 javascript arrays url jquery get

我有一个这样的网址:

http://www.somewhere.com/index.html?field[]=history&field[]=science&field[]=math
Run Code Online (Sandbox Code Playgroud)

使用jQuery,我如何获取GET数组?

谢谢.

gbl*_*zex 6

[ 看到它在行动 ]

var str = "http://www.somewhere.com/index.html?field[]=history&field[]=science&field[]=math";

var match = str.match(/[^=&?]+\s*=\s*[^&#]*/g);
var obj = {};

for ( var i = match.length; i--; ) {
  var spl = match[i].split("=");
  var name = spl[0].replace("[]", "");
  var value = spl[1];

  obj[name] = obj[name] || [];
  obj[name].push(value);
}

alert(obj["field"].join(", "))??
Run Code Online (Sandbox Code Playgroud)

  • 如果URL具有命名锚点,则该正则表达式失败.可能会将`[^&]`改为`[^&#]`. (2认同)