zoukankan      html  css  js  c++  java
  • javascript获取地址栏参数

    http://gzycm520.blog.51cto.com/175220/71030方法一:

    <script type="text/javascript">
    <!--
    function Request(strName){ 
    var strHref = "www.QQView.com/index.htm?a=aaa&b=bbb&c=ccc"; 
    var intPos = strHref.indexOf("?"); 
    var strRight = strHref.substr(intPos + 1); 
    var arrTmp = strRight.split("&"); 
    for(var i = 0; i < arrTmp.length; i++) { 
    var arrTemp = arrTmp[i].split("="); 
    if(arrTemp[0].toUpperCase() == strName.toUpperCase()) return arrTemp[1]; 

    return ""; 
    }

    alert(Request("a")); 
    alert(Request("b")); 
    alert(Request("c")); 
    //-->
    </script>

    方法二:

    <script type="text/javascript">
    <!--
    String.prototype.getQuery = function(name) { 
      var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); 
      var r = this.substr(this.indexOf("?")+1).match(reg); 
      if (r!=null) return unescape(r[2]); return null; 

    var strHref = "www.QQView.com/index.htm?a=aaa&b=bbb&c=ccc"; 
    alert(strHref.getQuery("a")); 
    alert(strHref.getQuery("b")); 
    alert(strHref.getQuery("c")); 
    //-->
    </script>

    方法三:
    <SCRIPT   language=javascript>
    function geturl(){ 
      var   srcc   =   window.location;       //得到地址栏连接   
      srcc   =   srcc.toString()     //转换成string类型,可以省略   
      start   =   srcc.indexOf("#");       //返回"?"在字串中第一次出现的位置   
      end   =   srcc.length;     //字串的长度   
      var str;
      str=srcc.substring(start+1,end);     //得到部分字串   
      this.tciframe.location.href="地址?"+str;;
    }
    </SCRIPT>
     
     
    利用javascript获取页面地址栏参数有很多种方式,大部分都是利用split将地址分割成数组。
    这样做的缺点是不仅需要循环,还需要判断,找到各组value和key,很是麻烦。
    这里推荐一种利用OO思想加上RegExp的方法,使它更灵活、高效。
    Request = {
    QueryString : function(item){
    var svalue = location.search.match(new
    RegExp('[?&]' + item + '=([^&]*)(&?)','i'));
    return svalue ? svalue[1] : svalue;
    }
    }
    var key = Request.QueryString('key');
  • 相关阅读:
    前端与算法 leetcode 344. 反转字符串
    JavaScript闭包使用姿势指南
    前端与算法 leetcode 48. 旋转图像
    前端与算法 leetcode 36. 有效的数独
    前端与算法 leetcode 1. 两数之和
    前端与算法 leetcode 283. 移动零
    前端与编译原理 用js去运行js代码 js2run
    前端与算法 leetcode 66. 加一
    前端与算法 leetcode 350. 两个数组的交集 II
    前端与算法 leetcode 26. 删除排序数组中的重复项
  • 原文地址:https://www.cnblogs.com/svennee/p/4073143.html
Copyright © 2011-2022 走看看