一.<script> urlinfo=window.location.href; //获取当前页面的url len=urlinfo.length;//获取url的长度 offset=urlinfo.indexOf("?");//设置参数字符串开始的位置 newsidinfo=urlinfo.substr(offset,len)//取出参数字符串 这里会获得类似“id=1”这样的字符串 newsids=newsidinfo.split("=");//对获得的参数字符串按照“=”进行分割 newsid=newsids[1];//得到参数值 alert("您要传递的参数值是"+newsid); < /script>

二.更好的方法: 声明一个queryString函数 <script type="text/javascript"> Request = { QueryString : function(item){ var svalue = location.search.match(new RegExp("[\?\&]" + item + "=([^\&]*)(\&?)","i")); return svalue ? svalue[1] : svalue; } } < /script>

使用的时候像java一样调用就行了: <script type="text/javascript"> document.write( Request.QueryString("name") ); < /script>

下面是另种方法:

本文原理是使用正则表达式匹配location.search中的字符串。其中三个主要函数为 getQueryString()、getQueryStringByName(name)和getQueryStringByIndex(index)

三个主要方法:

方法

说明

getQueryString

获取QueryString的数组。

例如路径QueryStringDemo.html?id=5&type=1&flag=0

调用后返回["id=5", "type=1", "flag=0"]

getQueryStringByName

根据QueryString参数名称获取值

getQueryStringByIndex

根据QueryString参数索引获取值

复制代码 代码如下:
//获取QueryString的数组  function getQueryString(){  var result = location.search.match(new RegExp("[\?\&][^\?\&]+=[^\?\&]+","g"));  for(var i = 0; i < result.length; i++){  result[i] = result[i].substring(1);  }  return result;  }  //根据QueryString参数名称获取值  function getQueryStringByName(name){  var result = location.search.match(new RegExp("[\?\&]" + name+ "=([^\&]+)","i"));  if(result == null || result.length < 1){  return "";  }  return result[1];  }  //根据QueryString参数索引获取值  function getQueryStringByIndex(index){  if(index == null){  return "";  }  var queryStringList = getQueryString();  if (index >= queryStringList.length){  return "";  }  var result = queryStringList[index];  var startIndex = result.indexOf("=") + 1;  result = result.substring(startIndex);  return result;  } 

测试页面路径:QueryStringDemo.html?id=5&type=1&flag=0  页面加载时:  在QueryString's name后的文本框中输入要获取的QueryString的名称获取相应的值:  在QueryString's index后的文本框中输入要获取的QueryString的索引获取相应的值(索引从0开始):  这样就可以在页面中方便的获取QueryString的值了。最后附上测试页面QueryStringDemo.html的源代码:

复制代码 代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  <html xmlns="http://www.w3.org/1999/xhtml">  <head>  <meta content="text/html; charset=gb2312" http-equiv="Content-Type" />  <title>QueryString获取演示代码 www.jb51.net</title>  <script type="text/javascript">  //获取QueryString的数组  function getQueryString(){  var result = location.search.match(new RegExp("[\?\&][^\?\&]+=[^\?\&]+","g"));  for(var i = 0; i < result.length; i++){  result[i] = result[i].substring(1);  }  return result;  }  //根据QueryString参数名称获取值  function getQueryStringByName(name){  var result = location.search.match(new RegExp("[\?\&]" + name+ "=([^\&]+)","i"));  if(result == null || result.length < 1){  return "";  }  return result[1];  }  //根据QueryString参数索引获取值  function getQueryStringByIndex(index){  if(index == null){  return "";  }  var queryStringList = getQueryString();  if (index >= queryStringList.length){  return "";  }  var result = queryStringList[index];  var startIndex = result.indexOf("=") + 1;  result = result.substring(startIndex);  return result;  }  //绑定当控件高亮选中时,点击“回车键”时执行的操作  //control:要绑定事件的控件  //func:要执行的方法  function bindEnterEvent(control, func){  control.onkeypress = function(){  if (event.keyCode == 13){  func();  }  }  }  //根据输入的QueryString名称获取值  function getByName(){  var name = document.getElementById("txtQueryStringName").value;  document.getElementById("txtResult").innerHTML = getQueryStringByName(name);  }  //根据输入的QueryString的索引获取值  function getByIndex(){  var index = document.getElementById("txtQueryStringIndex").value;  document.getElementById("txtResult").innerHTML = getQueryStringByIndex(index);  }  </script>  </head>  <body>  <div>  <span>QueryString : </span><span id="queryString"></span>  </div>  <div>  <span>QueryString's name : </span>  <input id="txtQueryStringName" name="txtQueryStringName" type="text" />  <input name="btnGetByName" type="button" value="获取" onclick="getByName()" />  </div>  <div>  <span>QueryString's index : </span>  <input id="txtQueryStringIndex" name="txtQueryStringIndex" type="text" />  <input name="btnGetByIndex" type="button" value="获取" onclick="getByIndex()" />  </div>  <div>  <span>结果 :</span><span id="txtResult"></span>  </div>  <!--页面加载时执行的操作-->  <script type="text/javascript">  //显示所有QueryString  document.getElementById("queryString").innerHTML = getQueryString();  //为txtQueryStringName绑定回车事件  bindEnterEvent(txtQueryStringName, getByName);  //为txtQueryStringIndex绑定回车事件  bindEnterEvent(txtQueryStringIndex, getByIndex);  </script>  </body>  </html> 

使用js获取QueryString的方法小结的更多相关文章

  1. 原生js获取鼠标坐标方法全面讲解-zmq

    原生js获取鼠标坐标方法全面讲解:clientX/Y,pageX/Y,offsetX/Y,layerX/Y,screenX/Y 一.关于js鼠标事件综合各大浏览器能获取到坐标的属性总共以下五种:eve ...

  2. js获取域名的方法

    本文实例讲述了js获取域名的方法.分享给大家供大家参考.具体实现方法如下: 复制代码代码如下: <script>//获取域名var k_host = window.location.hos ...

  3. JS1 js获取dom元素方法

     js获取dom元素方法  1.通过ID选取元素(getElementById) 1)使用方法:document.getElementById("domId")         其 ...

  4. 【功能代码】---4用JS获取地址栏参数方法

    用JS获取地址栏参数方法 // 方法一:采用正则表达式获取地址栏参数:( 强烈推荐,既实用又方便!) function GetQueryString(name) { var reg = new Reg ...

  5. 使用JS获取当前地理位置方法汇总

    使用JS获取当前地理位置方法汇总 投稿:hebedich 字体:[增加 减小] 类型:转载 时间:2014-12-18我要评论 这篇文章主要介绍了使用JS获取当前地理位置方法汇总,需要的朋友可以参考下 ...

  6. js面向对象 多种创建对象方法小结

    转自js面向对象 多种创建对象方法小结 1.对象字面量 var clock={ hour:12, minute:10, second:10, showTime:function(){ alert(th ...

  7. 【JS】---4用JS获取地址栏参数方法

    用JS获取地址栏参数方法 // 方法一:采用正则表达式获取地址栏参数:( 强烈推荐,既实用又方便!) function GetQueryString(name) { var reg = new Reg ...

  8. js 获取小数点位数方法及 字符串与数字之间相互转换方法

    1.获取小数点位数方法 a. 使用 js 中 subsrting,indexOf,parseFloat三个函数,代码如下: var s = "22.127456" ;//s 为 字 ...

  9. js获取IP地址方法总结_转

    js代码获取IP地址的方法,如何在js中取得客户端的IP地址.原文地址:js获取IP地址的三种方法 http://www.jbxue.com/article/11338.html 1,js取得IP地址 ...

随机推荐

  1. JavaScript常见的假值

    值 说明 var a=false; 值等于false(假) var a =0; 值等于0 var a=''; 空的字符串 var a=10/'abc' NaN var a; 未赋值变量

  2. python全栈开发day41-background、精灵图技术、定位(相、绝、固)、z-index

    一.昨日内容回顾 1.标准文档流定义: https://www.jianshu.com/p/b4d2c1dfd6e5 2.浮动和浮动的四大特性 1)脱标 2) 浮动元素相互贴靠 3)字围 4)紧凑(浮 ...

  3. (转)一位资深程序员大牛给予Java初学者的学习路线建议

    原文:http://geek.csdn.net/news/detail/238256 Java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是你是如何学习Java的 ...

  4. cookie、sesion

    关于保存问题 如果高并发不多的话可以保存session 否则用cookie吧,session可以保存到其他服务器哦,比如其他服务器的redis memacache(没有持久化,崩了登录信息就全没了) ...

  5. iOS开发安全

    这篇文章之前自己在公司的技术分享学院发表了.现在发到自己的博客上. 现在很多iOS的app没有做任何的安全防范措施.今天我们就聊聊iOS开发人员平时怎么做才更安全. 一.网络方面 用抓包工具可以抓取手 ...

  6. grant 权限 on 数据库对象 to 用户

    grant 权限 on 数据库对象 to 用户 一.grant 普通数据用户,查询.插入.更新.删除 数据库中所有表数据的权利. grant select on testdb.* to common_ ...

  7. OSINT系列:威胁信息挖掘ThreatMiner

     OSINT系列:威胁信息挖掘ThreatMiner   ThreatMiner.org是一个非营利性组织.它收集各种开放的网络信息和安全信息,然后进行整理,供安全人员检索.它可以提供六大类.十八小类 ...

  8. C# 使用 iTextSharp 将 PDF 转换成 TXT 文本

    var pdfReader = new PdfReader("xxx.pdf"); StreamWriter output = new StreamWriter(new FileS ...

  9. Bzoj5332: [Sdoi2018]旧试题

    国际惯例的题面首先我们进行一些相对显然的数学变化.解释一下第二行的那个变形,如果一个数是ijk的因数,那么它一定能被分解成三部分分别是i,j,k的因数.我们钦定一个质数只能在三部分的一个中出现.如果一 ...

  10. 潭州课堂25班:Ph201805201 python 操作数据库 第五课 (课堂笔记)

    一 用 python 操作 mysql 1,导入 pymysql 2,检查配置文件, 3,端口转发 如果 python 在本机,数据库在远程,或虚拟机则需要 4用 python 连接 # -*- co ...