Javascript 我该如何提取;搜索词";来自URL?
如何从以下URL中提取“test” 我已经找到了一个脚本来提取路径(window.location.pathname),但我找不到或弄不清楚如何提取或拆分URL -本 这是你的电话号码 或者您可以使用jQuery的插件:Javascript 我该如何提取;搜索词";来自URL?,javascript,Javascript,如何从以下URL中提取“test” 我已经找到了一个脚本来提取路径(window.location.pathname),但我找不到或弄不清楚如何提取或拆分URL -本 这是你的电话号码 或者您可以使用jQuery的插件: 如果只需要第一项的值,则: function getFirstSeachValue() { var s = window.location.search.split('&'); return s[0].split('=')[1]; } 如果需要“q”项的值,
如果只需要第一项的值,则:
function getFirstSeachValue() {
var s = window.location.search.split('&');
return s[0].split('=')[1];
}
如果需要“q”项的值,无论它在搜索字符串中的位置如何,则以下命令将返回传递的项的值,如果该项不在搜索字符串中,则返回null:
function getSearchValue(value) {
var a = window.location.search.replace(/^\?/,'').split('&');
var re = new RegExp('^' + value + '=');
var i = a.length;
while (i--) {
if (re.test(a[i])) return a[i].split('=')[1];
}
return null;
}
当然,这两种方法都只是示例,应该一路测试结果,以防止出现意外错误
--
Rob
我相信这个问题有解决办法。要获得此函数的改进版本,请参阅如果有以q结尾的参数,则此函数不起作用,例如
?iq=120&q=steve
将返回iq值而不是q值。@spb,说得好!我想/(?:\?|&)q=([^&]*)/
会更健壮。
function getSearchValue(value) {
var a = window.location.search.replace(/^\?/,'').split('&');
var re = new RegExp('^' + value + '=');
var i = a.length;
while (i--) {
if (re.test(a[i])) return a[i].split('=')[1];
}
return null;
}
--
Rob