js 地址栏操作

<script type="text/javascript">
function UrlSearch()
{
   var name,value;
   var str=location.href; //取得整个地址栏
   var num=str.indexOf("?")
   str=str.substr(num+1); //取得所有参数,获得?后面的所有参数
   var arr=str.split("&"); //各个参数放到数组里
   for(var i=0;i < arr.length;i++){
    num=arr[i].indexOf("=");
    if(num>0){
     name=arr[i].substring(0,num);
     value=arr[i].substr(num+1);
     this[name]=value;
     }
    }
}
//调用方法var Request=new UrlSearch(); //实例化
//alert(Request.id);//id为地址栏的参数,要获取哪个参数的值则写哪个


 function GetQueryString(name) //判断地址栏是否存在某个参数

  {

  var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");

  var r = window.location.search.substr(1).match(reg);

  if(r!=null)return unescape(r[2]); return null;

  }
//调用方法:alert(GetQueryString("参数名1"));
// abc.html?url=http://hi.baidu.com
//如果有参数则调用alert(GetQueryString("url"));
//如果abc.html后面没有url参数的话,这样输出就报错,所以要加个判断
//var myurl=GetQueryString("url");
// if(myurl !=null && myurl.length>1)
// {  alert(GetQueryString("url")); }  这样就不会报错了
</script>

原文地址:https://www.cnblogs.com/colyn/p/2441907.html