Javascript 本身 没有内置处理查询字符串参数的内容。
在(现代)浏览器中运行的代码可以使用
URL对象(它是浏览器提供给JS的API的一部分):
var url_string = "http://www.example.com/t.html?a=1&b=3&c=m2-m3-m4-m5"; //window.location.hrefvar url = new URL(url_string);var c = url.searchParams.get("c");console.log(c);对于较旧的浏览器(包括Internet Explorer),您可以使用此polyfill或此答案的原始版本中早于
URL以下版本的代码:
您可以访问
location.search,从
?字符到URL的末尾或片段标识符(#foo)的开头,以先到者为准。
然后,您可以使用以下代码解析它:
function parse_query_string(query) { var vars = query.split("&"); var query_string = {}; for (var i = 0; i < vars.length; i++) { var pair = vars[i].split("="); var key = depreURIComponent(pair[0]); var value = depreURIComponent(pair[1]); // If first entry with this name if (typeof query_string[key] === "undefined") { query_string[key] = depreURIComponent(value); // If second entry with this name } else if (typeof query_string[key] === "string") { var arr = [query_string[key], depreURIComponent(value)]; query_string[key] = arr; // If third or later entry with this name } else { query_string[key].push(depreURIComponent(value)); } } return query_string;}var query_string = "a=1&b=3&c=m2-m3-m4-m5";var parsed_qs = parse_query_string(query_string);console.log(parsed_qs.c);您可以使用以下方法从当前页面的URL获取查询字符串:
var query = window.location.search.substring(1);var qs = parse_query_string(query);



