JS解析URL查询参数

本文将介绍怎样使用JavaScript和JQuery去解析URL中的查询地址。

下面将介绍怎样使用JS去解析URL中查询参数信息。

JavaScript实现

/**
 * 获取URL查询变量
 */
function getQueryVariable(variable, search) {
   var query = (search || window.location.search).substring(1);
   var vars = query.split("&");
   for (var i = 0; i < vars.length; i++) {
		var pair = vars[i].split("=");
		if(pair[0] == variable){
			return pair[1];
		}
   }
   return undefined;
}

// URL信息
// https://localhost:8080/hello?name=helen&age=28&job=java
var search = "?name=helen&age=28&job=java";
console.log("name = " + getQueryVariable("name", search));
console.log("age = " + getQueryVariable("age", search));
console.log("job = " + getQueryVariable("job", search));

方式二:

/**
 * 解析 url 参数
 */
var paramObj = (function parseParams() {
	var re = /([^&=]+)=?([^&]*)/g,
		decodeRE = /\+/g,
		decode = function (str) {
			return decodeURIComponent(str.replace(decodeRE, " "));
		};

	var search = "?name=helen&age=28&job=java";
	var params = {}, e;
	while (e = re.exec(search.substring(1))) {
		params[decode(e[1])] = decode(e[2]);
	}
	return params;
})();

// URL信息
// https://localhost:8080/hello?name=helen&age=28&job=java
console.log(paramObj);

JQuery实现

/**
 * 解析 url 参数
 */
(function($) {
	var re = /([^&=]+)=?([^&]*)/g,
		decodeRE = /\+/g,
		decode = function (str) {
			return decodeURIComponent(str.replace(decodeRE, " "));
		};

	$.parseParams = function(query) {
		var params = {}, e;
		while (e = re.exec(query)) {
			params[decode(e[1])] = decode(e[2]);
		}
		return params;
	};
})(jQuery);

// URL信息
// https://localhost:8080/hello?name=helen&age=28&job=java
var search = "?name=helen&age=28&job=java";
param = $.parseParams(search.substring(1)); // 解析问号后的 url 参数
console.log(param);
有时候读书是一种巧妙地避开思考的方法。——赫尔普斯
0 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号