【发布时间】:2018-03-23 03:44:41
【问题描述】:
我从 GET 方法中输入了以下格式的 url
rec_test.html?emotion=Happy&myInputs_1%5B%5D=things&myInputs_1%5B%5D=are&myInputs_1%5B%5D=working&myInputs_2%5B%5D=i&myInputs_2%5B%5D=hope&myInputs_3%5B%5D=so
我正在尝试使用以下代码对其进行解析:
function getParameterByName(name){
var url = window.location.search;
name = name.replace(/[\[\]]/g, "\\$&");
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)");
results = regex.exec(url);
if (!results) return null;
if (!results[2]) return '';
return decodeURIComponent(results[2].replace(/\+/g, " "));
}
但是当我将myInputs_1 传递给函数时,它返回null。
我以某种方式计划生成以下格式的输出:
myInput_1 = ['things', 'are', 'working']
myInput_2 = ['i', 'hope']
myInput_3 = ['so']
但我无法提取单个值。有没有办法达到预期的输出?
edit_1
我了解到%5B 是[ 和%5D 是],但是即使我将myInput_1[] 作为参数传递给函数,它仍然返回null,我不知道为什么
【问题讨论】:
标签: javascript html regex parsing