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

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

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

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

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

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

  方案一:

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

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

  方案二:

 function getUrlParam(name) {
var url = window.location.herf.search.split('?')[1],
arrs = url.split('&');
for(var i=0; i<arrs.length; i++) {
if(arrs[i].split('=')[0] === name) {
return arrs[i].split('=')[1];
}
}
return '';
}

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

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

javascript之小积累-获取url传参的值的更多相关文章

  1. 获取url传参

    function urlparameterforkey(name) { //读取html 数据 ); //待处理的字符串 var patt = new RegExp(name); //要查找的字符串 ...

  2. JS获取url传参

    function GetRequest() { var url = location.search; //获取url中"?"符后的字串 var theRequest = new O ...

  3. html js获取URL传参

    每天学习一点点 编程PDF电子书.视频教程免费下载:http://www.shitanlife.com/code function GetQueryString(name) {      var re ...

  4. [转]JS获取URL传参方法

    function GetQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&] ...

  5. url传参后获取参数

    当我们通过url传参跳转到其他页面,如: http://www.xxx.com/content.html?id=217&name=txf&phone=15829087165 在跳转后的 ...

  6. 关于url传参中文乱码问题

    之前都一直很不了解中文编码得问题,之前在做项目中没碰到那么头痛的问题.所以一直没有了解中文乱码的问题. 问题描述: 地址: http://localhost:8080/sun-government/c ...

  7. Silverlight项目笔记8:层次布局、客户端读取shp、ExecuteCountAsync、柱状图、url传参

    1.层次布局 由于地图窗口和菜单栏都在一个父容器内,在浏览器缩小到一定程度点击地图弹出infoWindow时,会出现菜单栏遮挡infoWindow中间部分的现象,于是通过设置Canvas.ZIndex ...

  8. js获取地址栏传参

    地址:http://127.0.0.1:8082/prosperleedir/index.html?id=6666&name=prosper#prosper         Location{ ...

  9. tornado 02 输出、输入和URL传参

    tornado 02 输出.输入和URL传参 一.输出 write输出到页面 #write可以接受的对象 #write() 可以接受3种对象:bytes Unicode字符(二进制字符) 字典 #如果 ...

随机推荐

  1. .NET牛人需要了解的问题[转]

    任何一个使用.NET的人 描述线程与进程的区别? 什么是Windows服务,它的生命周期与标准的EXE程序有什么不同 Windows上的单个进程所能访问的最大内存量是多少?它与系统的最大虚拟内存一样吗 ...

  2. HTML5的入门与深入理解

    HTML5是对HTML的第5次重大的修改,虽然HTML5 标准还在制定中,但不能阻碍其势不可挡的脚步,不用HTML5你就OUT了.HTML5与我们常用的HTML4有什么区别呢? 首先要说的是不是所有的 ...

  3. 使用ASP.NET上传图片汇总

    1 使用标准HTML来进行图片上传 前台代码: <body>      <form id="form1" runat="server"> ...

  4. 关于XE10下Indy发送字符串编码的问题

    在与硬件对接的过程中,之前用D7环境下的UDPServer.Post发送的指令,硬件可正常识别并正常显示, 后来使用到XE10,重新编译之前的源码,发现所有汉字乱码显示了: 后通过对接收数据发现,实际 ...

  5. JAVA动手动脑

    1.运行 TestInherits.java 示例,观察输出,注意总结父类与子类之间构造方法的调用关系修改Parent构造方法的代码,显式调用GrandParent的另一个构造函数,注意这句调用代码是 ...

  6. [css3]水平垂直居中

    position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);

  7. 成为一名优秀的Web前端开发者

    本文记录了两位工程师为web开发者们所提出的多条建议,其中一位推荐了多种实用的工具与技术,而另一位则对于如何克服浏览器开发时所面临的挑战提出了诸多建议. Rebecca Murphey是来自于Baza ...

  8. sql基础语句(技巧)

    1.压缩数据库 dbcc shrinkdatabase(dbname) 2.转移数据库给新用户已存在用户权限 exec sp_change_users_login'update_one','newga ...

  9. Pythonn 内置函数

    abs 绝对值 n = abs(-1) print(n) ========================= /usr/bin/python3.5 /home/liangml/pythonscript ...

  10. 最简单的RASPBERRY PI wifi配置

    Setting up Wifi with the Command Line  SIMON MONK   This tutorial works best if your router is broad ...