js获取url传递参数,js获取url?号后面的参数

方法一、正则表达式

1
2
3
4
5
6
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; 
    

  方法二、

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<Script language="javascript">  
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;  
}  
</script> 

  方法三、

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/** 
 * 获取指定的URL参数值 
 * URL:http://www.quwan.com/index?name=tyler 
 * 参数:paramName URL参数 
 * 调用方法:getParam("name") 
 * 返回值:tyler 
 */ 
function getParam(paramName) { 
    paramValue = "", isFound = !1; 
    if (this.location.search.indexOf("?") == 0 && this.location.search.indexOf("=") > 1) { 
        arrSource = unescape(this.location.search).substring(1, this.location.search.length).split("&"), i = 0; 
        while (i < arrSource.length && !isFound) arrSource[i].indexOf("=") > 0 && arrSource[i].split("=")[0].toLowerCase() == paramName.toLowerCase() && (paramValue = arrSource[i].split("=")[1], isFound = !0), i++ 
    
    return paramValue == "" && (paramValue = null), paramValue 

  其他参数获取介绍: 
//设置或获取对象指定的文件名或路径。
alert(window.location.pathname);


//设置或获取整个 URL 为字符串。
alert(window.location.href);


//设置或获取与 URL 关联的端口号码。
alert(window.location.port);




//设置或获取 URL 的协议部分。
alert(window.location.protocol);


//设置或获取 href 属性中在井号“#”后面的分段。
alert(window.location.hash);


//设置或获取 location 或 URL 的 hostname 和 port 号码。
alert(window.location.host);


//设置或获取 href 属性中跟在问号后面的部分。
alert(window.location.search);

原文地址:https://www.cnblogs.com/zhuqun/p/11097467.html