js获取url參数值的两种方式具体解释

有个url例如以下:

http://passport.csdn.net/account/login?

from=http%3a%2f%2fwrite.blog.csdn.net%2fpostedit

我们该怎样获取from这个參数的值呢?在网上搜了下方法非常easy,例如以下,第一种是通过正则。另外一种通过切串放进数组的方式:

方法一:

function getQueryString(name) {
	var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
	var r = window.location.search.substr(1).match(reg);
	if (r != null) return unescape(r[2]); return null;
}

var from = getQueryString("from");

alert(from);


方法二:

function GetRequest() { 
	var url = location.search; //获取url中"?"符后的字串 
	var theRequest = new Object(); 
	if (url.indexOf("?

") != -1) { var str = url.substr(1); strs = str.split("&"); for(var i = 0; i < strs.length; i ++) { theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]); } } return theRequest; } var req = GetRequest(); var from = req['from']; alert(from);









原文地址:https://www.cnblogs.com/gccbuaa/p/6752205.html