因此,对于www.test.com?pageToken=xyz&foo=bar
,我希望获得pageToken
及其值&
;
我已经尝试了/(pageToken=).*[^&]/g
但仍然获得了所有pageToken=xyz&foo=bar
而不是pageToken=xyz
。我做错了什么?
答案 0 :(得分:2)
答案 1 :(得分:0)
由于.*
,你的正则表达式过于贪婪。但是,要获取参数值,您可以使用特定功能。这是你可以使用的一个:
function getParameterByName(location, name) {
name = name.replace(/\]/g, "\\\]").replace(/\[/g, "\\\[");
var regex = new RegExp("[\/\?&]" + name + "=([^&#]*)"),
results = regex.exec(location);
return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
document.getElementById("res").innerHTML = getParameterByName("www.test.com/pageToken=xyz&foo=bar", "pageToken");
<div id="res" />
只需更改name
即可从您的字符串中获取所需的参数值。