使用js获取QueryString

本文PDF下载

转载请注明出处

从网上看到一些使用js获取QueryString的方法,但用起来不是很理想,所以决定自己写一个。主要原理是使用正则表达式匹配location.search中的字符串。

三个主要方法:


方法


说明


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"));

if(result == null){

return "";

}

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=utf-8" http-equiv="Content-Type" />

<title>QueryString获取</title>

<!--script type="text/javascript" src="CommonFiles/sunnycoder.js"></script-->

<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 :&nbsp;</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

时间: 2024-08-02 02:51:18

使用js获取QueryString的相关文章

JS获取QueryString(Jquery)

QueryString = { data: {}, Initial: function() { var aPairs, aTmp; var queryString = new String(window.location.search); queryString = queryString.substr(1, queryString.length); //remove "?" aPairs = queryString.split("&"); for (var

JS获取URL中参数值(QueryString)的4种方法

在某书上看到这道题目,查找解题思路后做了部分解析,如有错误请指正 方法一:正则法 代码如下: function getQueryString(name) {    var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i'); //匹配指定name的QueryString    var r = window.location.search.substr(1).match(reg); //window.location.sea

JS获取URL中参数值(QueryString)的4种方法分享

http://www.jb51.net/article/48942.htm JS获取URL中参数值(QueryString)的4种方法分享 作者: 字体:[增加 减小] 类型:转载 今天碰到要在一个页面获取另外一个页面url传过来的参数,一开始很本能的想到了用 split("?")这样一步步的分解出需要的参数.后来想了一下,肯定会有更加简单的方法的!所以在网上找到了几个很又简单实用的方法,mark下. 方法一:正则法 复制代码 代码如下: function getQueryString

js获取url传递参数

js获取url传递参数 这里是一个获取URL带QUESTRING参数的JAVASCRIPT客户端解决方案,相当于asp的request.querystring,PHP的$_GET函数: <Script language="javascript"> function GetRequest() { var url = location.search; //获取url中"?"符后的字串 var theRequest = new Object(); if (ur

js获取url传值的方法

这篇文章主要介绍了js获取url传值的方法,实例分析了字符串分割与正则分析两种方法,并补充了一个基于正则匹配实现的js获取url的get传值函数,需要的朋友可以参考下 js获取url参数值: index.htm?参数1=数值1&参数2=数值2&参数3=数据3&参数4=数值4&...... 静态html文件js读取url参数 根据获取html的参数值控制html页面输出 一.字符串分割分析法 这里是一个获取URL带QUESTRING参数的JAVASCRIPT客户端解决方案,相

.NET前后台-JS获取/设置iframe内对象元素并进行数据处理

转载请注明出处:果冻栋吖 这个主要是修改H3BPM一个批量审批的功能时候做的.先看下图: H3自带了批量审批的功能,也就是按钮1,有审批意见3,但是如果3里边不填写内容点击1之后,效果就是表单里边没有任何内容.其次可以依次点击每个表单的提交按钮进行提交.会提交对应的审批意见.现在的需求是:增加一个按钮,但是需要提交所有流程的审批内容,因为他们并不可能完全一样.也就是这里的2. 前台HTML代码: <asp:LinkButton ID="btnApproveone" runat=&

js获取url参数的两种方法

js获取参数,在以前我都是用正在去拆分,然后获取,这种方式感觉是最简单的 方式1: function QueryString(item) { var sValue=location.search.match(new RegExp("[\?\&]"+item+"=([^\&]*)(\&?)","i")) return sValue?sValue[1]:sValue } //使用方法 //url=http://www.xxx.

js获取url传递参数(转)

js获取url传递参数 这里是一个获取URL带QUESTRING参数的JAVASCRIPT客户端解决方案,相当于asp的request.querystring,PHP的$_GET函数: <Script language="javascript"> function GetRequest() {     var url = location.search; //获取url中"?"符后的字串    var theRequest = new Object();

node.js获取url中的各个参数

实例代码test.js var http=require('http'); var url=require('url'); var querystring=require('querystring'); http.createServer(function(request, response) { var urlStr = request.url; var methodName = urlStr.substring(1, urlStr.indexOf('?')); console.log('me