我有下面的函数,它将查询放入一个对象中。它可以工作,但会将 url 添加到对象中,而且我对正则表达式的了解不够,无法弄清楚如何删除 url 并且只包含 vars。
function urlToObj(url)
{
var obj = {};
url.replace(
new RegExp("([^?=&]+)(=([^&]*))?", "g"),
function($0, $1, $2, $3) { obj[$1] = $3; }
);
return obj;
}
例如
url = http://www.example.com/hello/world.php?var1=1&var2=2
url = http://www.example.com/hello/world.asp?var1=1&var2=2
url = http://www.example.com/hello/world?var1=1&var2=2
obj = urlToObj(url);
输出
obj { var1="1", var2="2", http://www.example.com/hello/world.php="" }
obj { var1="1", var2="2", http://www.example.com/hello/world.asp="" }
obj { var1="1", var2="2", http://www.example.com/hello/world="" }
我希望它删除网址,所以它看起来像这样
obj { var1="1", var2="2" }
任何我出错的例子和信息都会很棒。
谢谢