如何通过JavaScript检查查询字符串值是否存在?

131
如何使用 JavaScript 或 jQuery 检查查询字符串中是否包含 q=

3
这也可能有所帮助:https://dev59.com/nHNA5IYBdhLWcg3wmfAa#12151322 - 包含关于URLSearchParams的信息,例如:var url = new URLSearchParams(location.search); url.has("my_great_query"); 如果该查询字符串在您的url中,则返回true。然后,您可以使用url.get("my_great_query");获取其值。 - user1063287
这绝对是最干净的方法,因为URL解码也会自动处理! - Juha Vehnia
12个回答

0

关于已接受答案的更新,你应该只返回if条件,而不是显式地返回true/false:

const field = 'q';
const url = window.location.href;
return url.indexOf(`?${field}=`) !== -1 || url.indexOf(`&${field}=`) !== -1;

我进行了字符串插值,但你也可以像被接受的答案中那样将它们简单相加。


0
在我的情况下,我想要获取q的值。 最终我这样做了。我希望任何人都能找到这有用。
    if(/[?&]q=/.test(location.search)) {
        const params = new URLSearchParams(location.search);
        return params.get('q');
    }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接