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>
  • 相关阅读:
    【iOS CocoaPods篇】iOS CocoaPods一些特别的用法 指定版本、版本介绍、忽略警告
    【iOS CocoaPods篇】iOS 10.10 10.11 10.12 安装升级CocoPods
    iOS程序中的内存分配 栈区堆区全局区(转)
    retain和strong、assign和weak的区别(转)
    (ios实战):retain,copy,assign及autorelease ,strong,weak(转)
    malloc()与 alloc()区别 (转)
    iOS开发--KVC&KVO
    iOS开发之支付功能概述(转)
    disptch_after 自递归
    makeObjectsPerformSelector 方法的用法
  • 原文地址:https://www.cnblogs.com/ddr888/p/606915.html
Copyright © 2011-2022 走看看