Javascript 获取链接(url)参数的方法[正则与截取字符串]


Posted in Javascript onFebruary 09, 2010

当然,我们也可以用正则直接匹配,文章中也给出了一个正则的例子。
分解链接的方式:

<script type="text/javascript"> 
<!-- 
// 说明:Javascript 获取链接(url)参数的方法 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>

用正则匹配的方式:
<script type="text/javascript"> 
<!-- 
function getQueryStringRegExp(name) 
{ 
var reg = new RegExp("(^|\\?|&)"+ name +"=([^&]*)(\\s|&|$)", "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 相关文章推荐
网站被黑的假象--ARP欺骗之页面中加入一段js
May 16 Javascript
用cookies实现的可记忆的样式切换效果代码下载
Dec 24 Javascript
深入理解JavaScript系列(16) 闭包(Closures)
Apr 12 Javascript
js面向对象 多种创建对象方法小结
May 21 Javascript
E3 tree 1.6在Firefox下显示问题的修复方法
Jan 30 Javascript
JavaScript定时显示广告代码分享
Mar 02 Javascript
JavaScript中的toUTCString()方法使用详解
Jun 12 Javascript
Javascript typeof与instanceof的区别
Oct 18 Javascript
knockoutjs模板实现树形结构列表
Jul 31 Javascript
微信小程序button组件使用详解
Jan 31 Javascript
微信小程序手机号码验证功能的实例代码
Aug 28 Javascript
js时间转换毫秒的实例代码
Aug 21 Javascript
一个XML格式数据转换为图表的例子
Feb 09 #Javascript
javascript 解析url的search方法
Feb 09 #Javascript
toString()一个会自动调用的方法
Feb 08 #Javascript
jQuery AJAX回调函数this指向问题
Feb 08 #Javascript
JavaScript Event学习第九章 鼠标事件
Feb 08 #Javascript
JavaScript 类似flash效果的立体图片浏览器
Feb 08 #Javascript
js 省地市级联选择
Feb 07 #Javascript
You might like
非集成环境的php运行环境(Apache配置、Mysql)搭建安装图文教程
2016/04/12 PHP
老生常谈文本文件和二进制文件的区别
2017/02/27 PHP
PHP中如何使用Redis接管文件存储Session详解
2018/11/28 PHP
你需要知道的JavsScript可以做什么?
2007/06/29 Javascript
javascript 图片上一张下一张链接效果代码
2010/03/12 Javascript
js 未结束的字符串常量错误解决方法
2010/06/13 Javascript
页面载入结束自动调用js函数示例
2013/09/23 Javascript
js动态拼接正则表达式的两种方法
2014/03/04 Javascript
基于jQuery+Cookie实现的防止刷新的在线考试倒计时
2015/06/19 Javascript
jQuery解决input超多的表单提交
2015/08/10 Javascript
javascript判断复选框是否选中的方法
2015/10/16 Javascript
JavaScript jQuery 中定义数组与操作及jquery数组操作
2015/12/18 Javascript
jQuery实现微信长按识别二维码功能
2016/08/26 Javascript
浅谈Angularjs link和compile的使用区别
2016/10/21 Javascript
JS中split()用法(将字符串按指定符号分割成数组)
2016/10/24 Javascript
微信小程序开发之选项卡(窗口底部TabBar)页面切换
2017/04/12 Javascript
详解angularjs利用ui-route异步加载组件
2017/05/21 Javascript
微信小程序 获取二维码实例详解
2017/06/23 Javascript
Vue的土著指令和自定义指令实例详解
2018/02/04 Javascript
原生JS实现无缝轮播图片
2020/06/24 Javascript
vue-simple-uploader上传成功之后的response获取代码
2020/09/07 Javascript
[01:12](回顾)DOTA2国际邀请赛,全世界DOTAer的盛宴
2014/07/01 DOTA
深入分析在Python模块顶层运行的代码引起的一个Bug
2014/07/04 Python
老生常谈Python之装饰器、迭代器和生成器
2017/07/26 Python
python hmac模块验证客户端的合法性
2020/11/07 Python
Python爬虫之Selenium库的使用方法
2021/01/03 Python
input元素的url类型和email类型简介
2012/07/11 HTML / CSS
html5自定义video标签的海报与播放按钮功能
2019/12/04 HTML / CSS
员工自我工作评价
2015/03/06 职场文书
迁徙的鸟观后感
2015/06/09 职场文书
2015年学校管理工作总结
2015/07/20 职场文书
食品安全主题班会
2015/08/13 职场文书
先进基层党组织事迹材料2016
2016/02/29 职场文书
导游词之徐州云龙湖
2019/11/19 职场文书
win10+anaconda安装yolov5的方法及问题解决方案
2021/04/29 Python
Java基于字符界面的简易收银台
2021/06/26 Java/Android