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 模拟JQuery的Ready方法实现并出现的问题
Dec 06 Javascript
JavaScript实现两个Table固定表头根据页面大小自行调整
Jan 03 Javascript
jquery实现的点击翻书效果代码
Nov 04 Javascript
Js与Jq获取浏览器和对象值的方法
Mar 18 Javascript
Easyui Treegrid改变默认图标的方法
Apr 29 Javascript
Angularjs 动态改变title标题(兼容ios)
Dec 29 Javascript
input输入框内容实时监测(附代码)
Aug 15 Javascript
JS对象序列化成json数据和json数据转化为JS对象的代码
Aug 23 Javascript
vue中axios处理http发送请求的示例(Post和get)
Oct 13 Javascript
js中async函数结合promise的小案例浅析
Apr 14 Javascript
jQuery创建折叠式菜单
Jun 15 jQuery
解决vue admin element noCache设置无效的问题
Nov 12 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
PHP foreach循环使用详解与实例代码
2010/05/08 PHP
PHP取进制余数函数代码
2012/01/19 PHP
php实现上传图片生成缩略图示例
2014/04/13 PHP
Symfony2安装的方法(2种方法)
2016/02/04 PHP
PHP之十六个魔术方法详细介绍
2016/11/01 PHP
Thinkphp5 微信公众号token验证不成功的原因及解决方法
2017/11/12 PHP
PHP+mysql防止SQL注入的方法小结
2019/04/27 PHP
PHP 多进程与信号中断实现多任务常驻内存管理实例方法
2019/10/04 PHP
EXT中xtype的含义分析
2010/01/07 Javascript
JavaScript中去掉数组中的重复值的实现方法
2011/08/03 Javascript
js history对象简单实现返回和前进
2013/10/30 Javascript
js操作输入框提示信息且响应鼠标事件
2014/03/25 Javascript
javascript制作网页图片上实现下雨效果
2015/02/26 Javascript
javascript递归回溯法解八皇后问题
2015/04/22 Javascript
用jquery快速解决IE输入框不能输入的问题
2016/10/04 Javascript
jquery.masonry瀑布流效果
2017/05/25 jQuery
讲解vue-router之命名路由和命名视图
2018/05/28 Javascript
详解jQuery如何实现模糊搜索
2019/05/10 jQuery
微信小程序实现图片选择并预览功能
2019/07/25 Javascript
微信小程序通过js实现瀑布流布局详解
2019/08/28 Javascript
详细介绍解决vue和jsp结合的方法
2020/02/06 Javascript
怎么理解wx.navigateTo的events参数使用详情
2020/05/18 Javascript
使用Python的Zato发送AMQP消息的教程
2015/04/16 Python
分享一下如何编写高效且优雅的 Python 代码
2017/09/07 Python
Python过滤txt文件内重复内容的方法
2018/10/21 Python
Python向excel中写入数据的方法
2019/05/05 Python
python实现QQ批量登录功能
2019/06/19 Python
Python3+PyInstall+Sciter解决报错缺少dll、html等文件问题
2019/07/15 Python
使用python的turtle函数绘制一个滑稽表情
2020/02/28 Python
澳大利亚购买健身器材网站:Gym Direct
2019/12/19 全球购物
EJB的激活机制
2013/10/25 面试题
军训自我鉴定
2013/12/14 职场文书
大队委竞选演讲稿
2014/04/28 职场文书
2014年销售工作总结范文
2014/12/01 职场文书
小学一年级学生评语大全
2014/12/25 职场文书
Oracle表空间与权限的深入讲解
2021/11/17 Oracle