我找到了一个库jQuery URL Parser,就解析URL的各个部分而言,它似乎功能齐全。我试图更进一步,并解析查询参数的值。
例如,根据网址"http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=rm+-rf+%2F"
,我想获得"rm -rf /"
参数q
。任何建议都将不胜感激。
作为旁注,我不会对当前页面的网址进行操作,因此任何location
魔法都不适用。
答案 0 :(得分:2)
看起来您引用的库确实可以检索查询字符串值,如Query string parameters
部分所示:
.param()方法用于返回 查询字符串参数的值。
传入一个字符串来访问它 参数值:
$.url('http://allmarkedup.com?sky=blue&grass=green').param('sky'); // returns 'blue' If no argument is passed in it will return an object literal containing a key:value map of all the querystring parameters.
$.url('http://allmarkedup.com?sky=blue&grass=green').param(); // returns { 'sky':'blue', 'grass':'green' } Note that the .param() method will work on both ampersand-split and semicolon-split querystrings.
答案 1 :(得分:0)
您可以使用自己的小型轻量级代码来执行此操作:
function getParam(url, param) {
if (!url.indexOf('?')) {
return 'undefined';
}
url = url.split('?')[1];
var arr = url.split('&');
for (var i = 0; i < arr.length; i++) {
var key = arr[i].split('=')[0], val = arr[i].split('=')[1];
if (key === param) {
return val;
}
}
return 'undefined';
}