·您当前的位置:首页 > 技术教程 > JavaScript >

[JS]使用js来获取url参数的几种方法

时间:2014-06-06 15:01gongminrui
第一,正则表达式,直接找出参数等号右边的值即可。

第一,正则表达式,直接找出参数等号右边的值即可。

  1. <script language=“javascript“> 
  2. var str=window.location.href;  
  3. var es=/clid=([^&]+)/; 
  4. var clidArr=es.exec(str);  
  5.    var clid=clidArr[1]; 
  6. </script> 

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

  1. /** 
  2.       * CuPlayer.com提示:提取URL中的参数 
  3.       */ 
  4.      function getArgs() 
  5.      { 
  6.        //加上substring的意义是去掉查询字符串中的?号。 
  7.        //var query = window.location.search.substring(1); 
  8.         
  9.        //定义一个数组,用于存放取出来的字符串参数。 
  10.        var argsArr = new Object(); 
  11.         
  12.        //获取URL中的查询字符串参数 
  13.        var query = window.location.search; 
  14.        queryquery = query.substring(1); 
  15.         
  16.        // CuPlayer.com提示:这里的pairs是一个字符串数组 
  17.        var pairs = query.split(“&“);//name=myname&password=1234&sex=male&address=nanjing 
  18.         
  19.        for(var i=0;i<pairs.length;i++) 
  20.        { 
  21.          var sign = pairs[i].indexOf(“=“);  
  22.          //如果没有找到=号,那么就跳过,跳到下一个字符串(下一个循环)。 
  23.          if(sign == -1) 
  24.          { 
  25.            continue;  
  26.          } 
  27.           
  28.          var aKey = pairs[i].substring(0,sign); 
  29.          var aValue = pairs[i].substring(sign+1);        
  30.           
  31.          argsArr[aKey] = aValue; 
  32.        } 
  33.         
  34.        return argsArr; 
  35.      }  

第三,最简单的方法,类似第二种,不过没有创建数组存参数,可直接访问参数的名字,容易看懂。

  1. <script language=“javascript“> 
  2.            function getarg() 
  3.            { 
  4.            var url = unescape(window.location.href); 
  5.            var allargs = url.split(“?“)[1]; 
  6.            var args = allargs.split(“&“); 
  7.            for(var i=0; i<args.length; i++) 
  8.            { 
  9.            var arg = args[i].split(“=“); 
  10.            eval(’this.’+arg[0]+‘=“‘+arg[1]+’“;’); 
  11.            } 
  12.            }  
  13.            var urlarg=new getarg(); 
  14.            if(urlarg.clid==“1“) 
  15.                { 
  16.                sub_nav_6.style.display = “block“; 
  17.                li6.style.background = “#a1ca00“; 
  18.                } 
  19.            </script> 

 

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器