zoukankan      html  css  js  c++  java
  • js提取url参数的几种方法。(搜集)

    第一,正则表达式,直接找出参数等号右边的值即可。但是,如果该参数后还有&就不可行。
        <script language="javascript">
        
    var str=window.location.href; 
        
    var es=/clid=/
        es.exec(str); 
        
    var right=RegExp.rightContext; 
        
    if(right=="1")
        
    {
        sub_nav_4.style.display 
    = "block";
        li4.style.background 
    = "#a1ca00";
        }

        
    </script>
    第二,把能找到的参数都付给argsarr数组,将来可以用argsarr[i]进行相应的访问,方法不错,太长,参数不容易记忆。
         /**
          * 提取URL中的参数
          
    */

         
    function getArgs()
         
    {
           
    //加上substring的意义是去掉查询字符串中的?号。
           //var query = window.location.search.substring(1);
           
           
    //定义一个数组,用于存放取出来的字符串参数。
           var argsArr = new Object();
           
           
    //获取URL中的查询字符串参数
           var query = window.location.search;
           query 
    = query.substring(1);
           
           
    //这里的pairs是一个字符串数组
           var pairs = query.split("&");//name=myname&password=1234&sex=male&address=nanjing
           
           
    for(var i=0;i<pairs.length;i++)
           
    {
             
    var sign = pairs[i].indexOf("="); 
             
    //如果没有找到=号,那么就跳过,跳到下一个字符串(下一个循环)。
             if(sign == -1)
             
    {
               
    continue
             }

             
             
    var aKey = pairs[i].substring(0,sign);
             
    var aValue = pairs[i].substring(sign+1);       
             
             argsArr[aKey] 
    = aValue;
           }

           
           
    return argsArr;
         }
     
    第三,最简单的方法,类似第二种,不过没有创建数组存参数,可直接访问参数的名字,容易看懂。
                <script language="javascript">
                
    function getarg()
                
    {
                
    var url = unescape(window.location.href);
                
    var allargs = url.split("?")[1];
                
    var args = allargs.split("&");
                
    for(var i=0; i<args.length; i++)
                
    {
                
    var arg = args[i].split("=");
                eval('
    this.'+arg[0]+'="'+arg[1]+'";');
                }

                }
     
                
    var urlarg=new getarg();
                
    if(urlarg.clid=="1")
                    
    {
                    sub_nav_6.style.display 
    = "block";
                    li6.style.background 
    = "#a1ca00";
                    }

                
    </script>
  • 相关阅读:
    RPM的使用详细演示安装,删除和查询
    GCC 参数详解
    简述configure、pkgconfig、pkg_config_path三者的关系
    RPM查询篇
    Linux软件安装之RPM的安装技巧
    linux gcc 编译时头文件和库文件搜索路径
    嵌入式开发.C语言面试题
    GCC几个选项学习
    asp.net mvc 自定权限实现
    使用Jquery EasyUi常见问题解决方案
  • 原文地址:https://www.cnblogs.com/ddr888/p/606915.html
Copyright © 2011-2022 走看看