Javascript 获取链接(url)参数的方法


Posted in Javascript onFebruary 15, 2009

方法1:将链接当作字符串 ,按照链接的格式分解,然后获取对应的参数值。
方法2:用正则直接匹配。
关键字:parameter 参数:location.href,url ,链接,javascript
方法1:
分解链接方式:

<script type="text/javascript"> 
function getQueryString(name) 
{ 
// 如果链接没有参数,或者链接中不存在我们要获取的参数,直接返回空 
if(location.href.indexOf("?")==-1 || location.href.indexOf(name+'=')==-1) 
{ return ''; } 
// 获取链接中参数部分 
var queryString = location.href.substring(location.href.indexOf("?")+1); 
// 分离参数对 ?key=value&key2=value2 
var parameters = queryString.split("&"); 
var pos, paraName, paraValue; 
for(var i=0; i<parameters.length; i++) 
{ 
// 获取等号位置 
pos = parameters[i].indexOf('='); 
if(pos == -1) { continue; } 
// 获取name 和 value 
paraName = parameters[i].substring(0, pos); 
paraValue = parameters[i].substring(pos + 1); 
// 如果查询的name等于当前name,就返回当前值,同时,将链接中的+号还原成空格 
if(paraName == name) 
{ 
return unescape(paraValue.replace(/\+/g, " ")); 
} 
} 
return ''; 
}; 
//http://localhost/test.html?aa=bb&test=cc+dd&ee=ff 
alert(getQueryString('test')); 
//--> 
</script>

方法2:
用正则匹配方式:
<script type="text/javascript"> 
function getQueryStringRegExp(name) 
{ 
var reg = new RegExp("(^|\\?|&)"+ name +"=([^&]*)(https://3water.com/file:///s:&%7C$)", "i"); 
if (reg.test(location.href)) 
return unescape(RegExp.$2.replace(/\+/g, " ")); 
return ""; 
}; 
//http://localhost/test.html?aa=bb&test=cc+dd&ee=ff 
alert(getQueryStringRegExp('test')); 
</script>
Javascript 相关文章推荐
javascript淡入淡出效果的实现思路
Mar 31 Javascript
使用js画图之正弦曲线
Jan 12 Javascript
文字垂直滚动之javascript代码
Jul 29 Javascript
JS根据浏览器窗口大小实时动态改变网页文字大小的方法
Feb 25 Javascript
详解JS-- 浮点数运算处理
Nov 28 Javascript
ionic2 tabs使用 Modal底部tab弹出框
Dec 30 Javascript
jQuery Form插件使用详解_动力节点Java学院整理
Jul 17 jQuery
通过源码分析Vue的双向数据绑定详解
Sep 24 Javascript
利用HBuilder打包前端开发webapp为apk的方法
Nov 13 Javascript
微信小程序网络请求封装示例
Jul 24 Javascript
AngularJs中$cookies简单用法分析
May 30 Javascript
使用layer模态框给新页面传值的方法
Sep 27 Javascript
JavaScript 获得选中文本内容的方法
Feb 15 #Javascript
检测是否已安装 .NET Framework 3.5的js脚本
Feb 14 #Javascript
Javascript 跨域访问解决方案
Feb 14 #Javascript
JavaScript DOM 添加事件
Feb 14 #Javascript
CSS+Table图文混排中实现文本自适应图片宽度(超简单+跨所有浏览器)
Feb 14 #Javascript
JavaScript实现动态增加文件域表单
Feb 12 #Javascript
从JavaScript 到 JQuery (1)学习小结
Feb 12 #Javascript
You might like
一个颜色轮换的简单例子
2006/10/09 PHP
thinkphp在php7环境下提示Cannot use ‘String’ as class name as it is reserved的解决方法
2016/09/30 PHP
兼容IE/Firefox/Opera/Safari的检测页面装载完毕的脚本Ext.onReady的实现
2009/07/14 Javascript
js null,undefined,字符串小结
2010/08/21 Javascript
js中Math之random,round,ceil,floor的用法总结
2013/12/26 Javascript
利用jQuery简单实现产品展示图片左右滚动功能(示例代码)
2014/01/02 Javascript
浅谈javascript中replace()方法
2015/11/10 Javascript
js实现跨域访问的三种方法
2015/12/09 Javascript
JavaScript中获取HTML元素值的三种方法
2016/06/20 Javascript
超详细的JS弹出窗口代码大全
2020/04/18 Javascript
jQuery 实现左右两侧菜单添加、移除功能
2018/01/02 jQuery
jsonp实现百度下拉框功能的方法分析
2019/05/10 Javascript
利用Vue实现一个markdown编辑器实例代码
2019/05/19 Javascript
新手简单了解vue
2019/05/29 Javascript
在Angular中实现一个级联效果的下拉框的示例代码
2020/05/20 Javascript
实例讲解React 组件
2020/07/07 Javascript
JS中作用域以及变量范围分析
2020/07/18 Javascript
[44:01]2018DOTA2亚洲邀请赛3月30日 小组赛B组 EG VS paiN
2018/03/31 DOTA
python文件比较示例分享
2014/01/10 Python
Python基础教程之内置函数locals()和globals()用法分析
2018/03/16 Python
Python查找第n个子串的技巧分享
2018/06/27 Python
Python装饰器简单用法实例小结
2018/12/03 Python
在Qt中正确的设置窗体的背景图片的几种方法总结
2019/06/19 Python
python爬虫之爬取百度音乐的实现方法
2019/08/24 Python
Python GUI库PyQt5样式QSS子控件介绍
2020/02/25 Python
详解使用postMessage解决iframe跨域通信问题
2019/11/01 HTML / CSS
Columbia Sportswear法国官网:全球户外品牌
2020/09/25 全球购物
什么是命名空间(NameSpace)
2015/11/24 面试题
请解释virtual关键字的含义
2015/06/17 面试题
MYSQL相比于其他数据库有哪些特点
2013/07/19 面试题
酒店应聘自荐信
2013/11/09 职场文书
社区优秀志愿者材料
2014/02/02 职场文书
企业业务员岗位职责
2014/03/14 职场文书
课前一分钟演讲稿
2014/08/26 职场文书
2015年党员发展工作总结
2015/05/13 职场文书
创业计划书之餐饮馄饨店
2019/07/18 职场文书