• javascript之小积累-获取url传参的值


      在项目中经常遇到两个页面传值的情况,我采取的方案是通过url后面加参数,也就是get方式传值。

      这个方式的优点是:传值、获取很方便。

      缺点是:1. 把参数都暴露在浏览器中了,一些敏感信息不建议这样传;

          2. 要是有捣蛋的人把浏览器的地址后缀改改,那样参数就有可能被改了;

          3. 每个浏览器都有个最大的长度限制,其中ie最少,为2048 字符。

      好了,回归正题,当用get方式传值的时候,需要获取一些需要值,有两个方案,有一个是自己写的:

      方案一:

    1  function getQueryString (name) {
    2         var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"),
    3             r = window.location.search.substr(1).match(reg);
    4         if (r != null) {
    5             return unescape(r[2]);
    6         }
    7         return '';
    8  }

      这个方案是用正则匹配name的值。

      方案二:

     1 function getUrlParam(name) {
     2         var url = window.location.herf.search.split('?')[1],
     3             arrs = url.split('&');
     4         for(var i=0; i<arrs.length; i++) {
     5             if(arrs[i].split('=')[0] === name) {
     6                 return arrs[i].split('=')[1];
     7              }
     8         }
     9         return '';
    10 }

      这个方案是通过字符串分割,加上for循环实现。

      总结:原理其实都是对url这个字符串里面的值进行匹配查找,都是对字符串的一些基本操作,所以学好基础,才能建造高楼大厦!

  • 相关阅读:
    生成函数学习笔记
    CF1437F Emotional Fishermen
    BZOJ 1443 [JSOI2009]游戏Game
    BZOJ 1018 [SHOI2008]堵塞的交通traffic
    访问量破1000之记录
    BZOJ 1022 [SHOI2008]小约翰的游戏John
    BZOJ1457 棋盘游戏
    BZOJ1874: [BeiJing2009 WinterCamp]取石子游戏
    BZOJ 1188 [HNOI2007]分裂游戏
    Codeforces Round #345 (Div. 2)
  • 原文地址:https://www.cnblogs.com/pijiaxiang/p/5320089.html
Copyright © 2020-2023  润新知