zoukankan      html  css  js  c++  java
  • 【JS】---4用JS获取地址栏参数方法

    用JS获取地址栏参数方法

    // 方法一:采用正则表达式获取地址栏参数:( 强烈推荐,既实用又方便!)
    
    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"));
    alert(GetQueryString("参数名2"));
    alert(GetQueryString("参数名3"));

    下面举一个例子:

            若地址栏URL为:abc.html?id=123&url=http://www.maidq.com

            那么,但你用上面的方法去调用:alert(GetQueryString("url"));

            则会弹出一个对话框:内容就是 http://www.maidq.com

            如果用:alert(GetQueryString("id"));那么弹出的内容就是 123 啦;

             当然如果你没有传参数的话,比如你的地址是 abc.html 后面没有参数,那强行输出调用结果有的时候会报错:

             所以我们要加一个判断 ,判断我们请求的参数是否为空,首先把值赋给一个变量:

    var myurl=GetQueryString("url");
    if(myurl !=null && myurl.toString().length>1)
    {
       alert(GetQueryString("url"));
    }
    // 这样就不会报错了!
    // 方法二:传统方法
    
    <script type="text/javascript">
    function UrlSearch() 
    {
       var name,value; 
       var str=location.href; //取得整个地址栏
       var num=str.indexOf("?") 
       str=str.substr(num+1); //取得所有参数   stringvar.substr(start [, length ]
    
       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);
    </script>
    
    //比如说把这个代码存为1.html 那么我要访问1.html?id=test
    
    //这个时候就取到test的值了

     水滴石穿,成功的速度一定要超过父母老去的速度! 少尉【8】

  • 相关阅读:
    在C#用HttpWebRequest中发送GET/HTTP/HTTPS请求
    微信公众平台开发(71)OAuth2.0网页授权
    IOS与安卓的远程调试
    解密和解压浏览器上加密的js文件
    appium 学习和环境搭建
    远程桌面工具 TeamViewer
    typescript 学习
    webstore 与 热编译的配置冲突
    CSS 温故而知新 断句失败
    自动化测试 python2.7 与 selenium 2 学习
  • 原文地址:https://www.cnblogs.com/qdhxhz/p/8040155.html
Copyright © 2011-2022 走看看