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 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号