JS根据key值获取URL中的参数值及把URL的参数转换成json对象


Posted in Javascript onAugust 26, 2015

不废话了,直接贴代码了,通过示例一讲解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根据key值获取URL中的参数值及把URL的参数转换成json对象,js通过两种方式获取url传递参数,代码

非常简单,希望对大家有所帮助。

Javascript 相关文章推荐
javascript 面向对象的JavaScript类
May 04 Javascript
jQuery Ajax请求状态管理器打包
May 03 Javascript
JSP基于Bootstrap分页显示实例解析
Jun 12 Javascript
jquery实现多次上传同一张图片
Jan 09 Javascript
Bootstrap BootstrapDialog使用详解
Feb 17 Javascript
jQuery实现动态显示select下拉列表数据的方法
Feb 05 jQuery
Vue打包后出现一些map文件的解决方法
Feb 13 Javascript
element vue validate验证名称重复 输入框与后台重复验证 特殊字符 字符长度 及注意事项小结【实例代码】
Nov 20 Javascript
zepto.js 实时监听输入框的方法
Dec 04 Javascript
JavaScript作用域链实例详解
Jan 21 Javascript
Vue两个版本的区别和使用方法(更深层次了解)
Feb 16 Javascript
antd 表格列宽自适应方法以及错误处理操作
Oct 27 Javascript
jquery实现的横向二级导航效果代码
Aug 26 #Javascript
jQuery三级下拉列表导航菜单代码分享
Apr 15 #Javascript
jquery用ajax方式从后台获取json数据后如何将内容填充到下拉列表
Aug 26 #Javascript
js钢琴按钮波浪式图片排列效果代码分享
Aug 26 #Javascript
javascript中alert()与console.log()的区别
Aug 26 #Javascript
JavaScript基本数据类型及值类型和引用类型
Aug 25 #Javascript
基于jQuery实现的QQ表情插件
Aug 25 #Javascript
You might like
Yii中实现处理前后台登录的新方法
2015/12/28 PHP
PHP中array_keys和array_unique函数源码的分析
2016/02/26 PHP
Laravel中使用Queue的最基本操作教程
2017/12/27 PHP
基于PHP实现生成随机水印图片
2020/12/09 PHP
jquery.AutoComplete.js中文修正版(支持firefox)
2010/04/09 Javascript
JavaScript Chart 插件整理
2010/06/18 Javascript
jQuery常见开发技巧详细整理
2013/01/02 Javascript
JS实现网页滚动条感应鼠标变色的方法
2015/02/26 Javascript
jQuery点击其他地方时菜单消失的实现方法
2016/04/22 Javascript
nodejs 实现钉钉ISV接入的加密解密方法
2017/01/16 NodeJs
bootstrap栅格系统示例代码分享
2017/05/22 Javascript
js学习总结_轮播图之渐隐渐现版(实例讲解)
2017/07/17 Javascript
Vue-router结合transition实现app前进后退动画切换效果的实例
2017/10/11 Javascript
如何实现双向绑定mvvm的原理实现
2019/05/28 Javascript
JS替换字符串中指定位置的字符(多种方法)
2020/05/28 Javascript
JavaScript之scrollTop、scrollHeight、offsetTop、offsetHeight等属性学习笔记
2020/07/15 Javascript
使用typescript快速开发一个cli的实现示例
2020/12/09 Javascript
[19:15]DK战队纪录片
2014/09/02 DOTA
python实现按长宽比缩放图片
2018/06/07 Python
pandas 数据实现行间计算的方法
2018/06/08 Python
Django ManyToManyField 跨越中间表查询的方法
2018/12/18 Python
python ChainMap 合并字典的实现步骤
2019/06/11 Python
Django之编辑时根据条件跳转回原页面的方法
2019/08/21 Python
python编写猜数字小游戏
2019/10/06 Python
Django 批量插入数据的实现方法
2020/01/12 Python
Python requests接口测试实现代码
2020/09/08 Python
html5教程画矩形代码分享
2013/12/04 HTML / CSS
html5中audio支持音频格式的解决方法
2018/08/24 HTML / CSS
大学生应聘导游自荐信
2014/06/02 职场文书
党的群众路线教育实践活动整改方案
2014/10/28 职场文书
求职简历自我评价怎么写
2015/03/10 职场文书
被告答辩状范文
2015/05/22 职场文书
军事博物馆观后感
2015/06/05 职场文书
解决redis sentinel 频繁主备切换的问题
2021/04/12 Redis
解决Jenkins集成SonarQube遇到的报错问题
2021/07/15 Java/Android
python数据分析之单因素分析线性拟合及地理编码
2022/06/25 Python