【前端】提取URL中的各个GET参数
1 /**************************** 2 * 有这样一个URL:http://item.taobao.com/item.htm?a=1&b=2&c=&d=xxx&e, 3 * 请写一段JS程序提取URL中的各个GET参数(参数名和参数个数不确定), 4 * 将其按key-value形式返回到一个json结构中, 5 * 如{a:'1', b:'2', c:'', d:'xxx', e:undefined}。 6 ****************************/ 7 8 function foo(url) { 9 var json = {}; 10 var regExp = /[\?\&](\w+)(=?)(\w*)/g; 11 12 do { 13 arr = regExp.exec(url); 14 // console.log(arr); // arr = [完整的字符串, key, 等号或'', value或''] 15 16 if (arr) { 17 var key = arr[1]; 18 var value = arr[3]; 19 // arr[2] === ''时, value = undefined 20 if (!arr[2]) 21 value = undefined; 22 23 json[key] = value; 24 } 25 } while (arr); 26 27 return json; 28 } 29 30 // ======test====== 31 ! function () { 32 var url = 'http://item.taobao.com/item.htm?a=1&b=2&c=&d=xxx&e'; 33 console.log(foo(url)); 34 } ();