把url上的查询条件转为Object对象

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/LinBilin_/article/details/79445054
var parseQueryString = function(url) {
	var obj = {};
	if(url) {
	  url = url.replace(/#[^#]*$/, "");
		var index = url.indexOf("?");
		if(index != -1) {
			var queryStr = url.substr(index + 1);
			var marchResult = null;
			var regex = /(\w+)(=([^&#]+)?)?/g;
			while((marchResult = regex.exec(queryStr)) != null) {
				if(marchResult[1] in obj) {
					var values = obj[marchResult[1]];
					if(values instanceof Array) {
						values.push(marchResult[2] ? (marchResult[3]?marchResult[3]:"") : null);
						obj.marchResult[1] = values;
					} else {
						var arr = [];
						arr.push(values);
						arr.push(marchResult[2] ? (marchResult[3]?marchResult[3]:"") : null);
						obj[marchResult[1]] = arr;
					}
				} else {
					obj[marchResult[1]] = marchResult[2] ? (marchResult[3]?marchResult[3]:"") : null;
				}
			}
		}
	}
	return obj;
}

猜你喜欢

转载自blog.csdn.net/LinBilin_/article/details/79445054
今日推荐