我有一个使用get方法并包含数组的表单:
http://www.example.com?name[]=hello&name[]=world
我正在尝试使用JavaScript或jQuery检索数组值'hello'和'world'。
我已经看过Stack Overflow上的类似解决方案(例如How can I get query string values in JavaScript?),但它们似乎只处理参数而不是数组。
是否可以获取数组值?
答案 0 :(得分:13)
你去了:http://jsfiddle.net/mm6Bt/1/
function getURLParam(key,target){
var values = [];
if (!target) target = location.href;
key = key.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
var pattern = key + '=([^&#]+)';
var o_reg = new RegExp(pattern,'ig');
while (true){
var matches = o_reg.exec(target);
if (matches && matches[1]){
values.push(matches[1]);
} else {
break;
}
}
if (!values.length){
return null;
} else {
return values.length == 1 ? values[0] : values;
}
}
var str = 'http://www.example.com?name[]=hello&name[]=world&var1=stam';
console.log(getURLParam('name[]',str));
console.log(getURLParam('var1',str));