Movatterモバイル変換


[0]ホーム

URL:


codecamp

JS根据key值获取URL中的参数值

本文提供了两个实例,其中,示例一讲解JS根据key值获取URL中的参数值及把URL的参数转换成json对象;示例二讲解js获取url传递参数,具体介绍内容请看下文:

示例一:

//把url的参数部分转化成json对象parseQueryString: function (url) { var reg_url = /^[^\?]+\?([\w\W]+)$/,  reg_para = /([^&=]+)=([\w\W]*?)(&|$|#)/g,  arr_url = reg_url.exec(url),  ret = {}; if (arr_url && arr_url[1]) {  var str_para = arr_url[1], result;  while ((result = reg_para.exec(str_para)) != null) {   ret[result[1]] = result[2];  } } return ret;}// 通过key获取url中的参数值getQueryString: function (name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); if (r != null) return unescape(r[2]); return null;}

示例二:

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 (url.indexOf("?") != -1) {  var str = url.substr(1);  strs = str.split("&");  for(var i = 0; i < strs.length; i ++) {   theRequest[strs[i].split("=")[0]]=(strs[i].split("=")[1]);  } } return theRequest;}</Script>

然后我们通过调用此函数获取对应参数值:

<Script language="javascript">  var Request = new Object();  Request = GetRequest();  var 参数1,参数2,参数3,参数N;  参数1 = Request[''参数1''];  参数2 = Request[''参数2''];  参数3 = Request[''参数3''];  参数N = Request[''参数N''];</Script>

以此获取url串中所带的同名参数


js获取url传递参数方法二 正则分析法:

function GetQueryString(name) {  var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)","i");  var r = window.location.search.substr(1).match(reg);  if (r!=null) return (r[2]); return null;}alert(GetQueryString("参数名1"));alert(GetQueryString("参数名2"));alert(GetQueryString("参数名3"));其他参数获取介绍://设置或获取对象指定的文件名或路径。?alert(window.location.pathname);//设置或获取整个 URL 为字符串。?alert(window.location.href);//设置或获取与 URL 关联的端口号码。?alert(window.location.port);//设置或获取 URL 的协议部分。?alert(window.location.protocol);//设置或获取 href 属性中在井号“#”后面的分段。?alert(window.location.hash);//设置或获取 location 或 URL 的 hostname 和 port 号码。?alert(window.location.host);//设置或获取 href 属性中跟在问号后面的部分。?alert(window.location.search);

js如何获取url所传递的参数和参数值

大家知道可以使用url传递参数值,本站几乎随便一个链接都会有传值,既然要传递值,那么自然要获取,否则就没有任何意义了,下面就通过实例介绍一下如何使用javascript获取url传递的参数和参数值。

代码实例如下:

[javascript](function(){     var urlToObject=function(url){       var urlObject = {};       if (/\?/.test(url)){         var urlString=url.substring(url.indexOf("?")+1);         var urlArray=urlString.split("&");         for(var i=0,len=urlArray.length;i<len;i++){           var urlItem=urlArray[i];           var item = urlItem.split("=");           urlObject[item[0]]=item[1];         }         return urlObject;       }     };     var testUrl="http://softwhy.com/index.php?a=0&b=1&c=2";     var result=urlToObject(testUrl);     for (var key in result){       console.log(key+"="+result[key]);     }   })();
以上代码可以输出url的参数和对应的参数值,下面就介绍一下实现过程。


一.实现原理:
1.判断url是否含有参数。在本代码中使用正则表达式if(/\?/.test(url))判断url中是否含有?,如果含有问号,那么就说明此链接中含有参数,然后执行if语句中的代码。
2.获取url中的参数和参数值。在这里是使用split()函数分割字符串,依次实现此功能。


二.代码注释:
1.(function(){})(),声明一个匿名函数并执行。
2.var urlToObject=function(url){},声明一个函数,此函数的参数是一个超链接。
3.var urlObject={},声明一个对象直接量。
4.if(/\?/.test(url)) ,判断链接中是否含有?,也就是是否含有参数。
5.var urlString=url.substring(url.indexOf("?")+1),截取url问号只有的字符串。
6.var urlArray=urlString.split("&"),使用split()函数以&为标记分割字符串,并生成一个数组。这样每一个数组元素就是一个参数和参数值对。
7.for(var i=0,len=urlArray.length;i<len;i++),使用for循环遍历urlArray数组。
8.var urlItem=urlArray,将指定索引的数组值赋值给变量urlItem。
9.var item=urlItem.split("="),再使用=分割字符串并生成一个数组,因为urlArray数组每一个元素都是一个参数和参数值对,例如"a=0",这样再经过分割,生成新数组的第一项就是参数名称,第二个项就是参数值。
10.urlObject[item[0]]=item[1],将参数名称作为对象的属性名称,参数值作为对象的属性值。
11.return urlObject,返回对象。
12.var testUrl=http://softwhy.com/index.php?a=0&b=1&c=2,用作测试的url。
13.var result=urlToObject(testUrl),将参数和参数值转换成对象的属性和属性值,并返回此对象。
14.for(var key in result),遍历此对象.

AJAX跨域请求获取JSON数据
jquery用ajax方式从后台获取json数据后如何将内容填充到下拉列表
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录
关于 JSON

JSON 教程

JSON 基础

json格式

JSON 示例

JSON解析

JSON遍历

JSON调用

JSON转换

JSON获取

JSON字符串

JSON数组

关闭

MIP.setData({'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false},'pageFontSize' : getCookie('pageFontSize') || 20});MIP.watch('pageTheme', function(newValue){setCookie('pageTheme', JSON.stringify(newValue))});MIP.watch('pageFontSize', function(newValue){setCookie('pageFontSize', newValue)});function setCookie(name, value){var days = 1;var exp = new Date();exp.setTime(exp.getTime() + days*24*60*60*1000);document.cookie = name + '=' + value + ';expires=' + exp.toUTCString();}function getCookie(name){var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)');return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null;}
[8]ページ先頭

©2009-2025 Movatter.jp