javascript 获取url参数和script标签中获取url参数函数代码


Posted in Javascript onJanuary 22, 2010

url paramter:

//lastest: 
var getArgs=function() {//get url querystring 
var params=document.location.search,reg=/(?:^\?|&)(.*?)=(.*?)(?=&|$)/g,temp,args={}; 
while((temp=reg.exec(params))!=null) args[temp[1]]=decodeURIComponent(temp[2]); 
return args; 
}; 
//只取一个: 
var queryString=function(key){ 
return (document.location.search.match(new RegExp("(?:^\\?|&)"+key+"=(.*?)(?=&|$)"))||['',null])[1]; 
} 
var args=getArgs(); 
alert(args.name+" | "+args.sex+" | "+args.age); 
//测试链接:<a href="?name=abc&sex=男&age=12">test getQueryString</a>

script paramter:

var getScriptArgs=function(){//获取多个参数 
var scripts=document.getElementsByTagName("script"), 
script=scripts[scripts.length-1],//因为当前dom加载时后面的script标签还未加载,所以最后一个就是当前的script 
src=script.src, 
reg=/(?:\?|&)(.*?)=(.*?)(?=&|$)/g, 
temp,res={}; 
while((temp=reg.exec(src))!=null) res[temp[1]]=decodeURIComponent(temp[2]); 
return res; 
}; 
var args=getScriptArgs(); 
alert(args.a+" | "+args.b+" | "+args.c); 
//假如上面的js是在这个js1.js的脚本中<script type="text/javascript" src="js1.js?a=abc&b=汉字&c=123"></script> var getScriptArg=function(key){//获取单个参数 
var scripts=document.getElementsByTagName("script"), 
script=scripts[scripts.length-1], 
src=script.src; 
return (src.match(new RegExp("(?:\\?|&)"+key+"=(.*?)(?=&|$)"))||['',null])[1]; 
}; 
alert(getScriptArg("c"));

ps:不要在方法中调用方法,否则可能始终获取的是最后一个js的文件的参数,要在方法中使用,请先用变量保存,在方法中直接获取
Javascript 相关文章推荐
ExtJs之带图片的下拉列表框插件
Mar 04 Javascript
js实现搜索框关键字智能匹配代码
Mar 26 Javascript
jQuery+CSS实现简单切换菜单示例
Jul 27 Javascript
深入探讨Vue.js组件和组件通信
Sep 12 Javascript
js实现适合新闻类图片的轮播效果
Feb 05 Javascript
Angular5.1新功能分享
Dec 21 Javascript
浅谈PDF.js使用心得
Jun 07 Javascript
Vue CLI3中使用compass normalize的方法
May 30 Javascript
js使用文件流下载csv文件的实现方法
Jul 15 Javascript
解决layer.confirm快速点击会重复触发事件的问题
Sep 23 Javascript
原生js实现随机点名
Jul 05 Javascript
vue调用本地摄像头实现拍照功能
Aug 14 Javascript
JavaScript 学习笔记(十三)Dom创建表格
Jan 21 #Javascript
JavaScript 学习笔记(十二) dom
Jan 21 #Javascript
javascript parseInt与Number函数的区别
Jan 21 #Javascript
js parsefloat parseint 转换函数
Jan 21 #Javascript
jquery 防止表单重复提交代码
Jan 21 #Javascript
javascript 哈希表(hashtable)的简单实现
Jan 20 #Javascript
JS 对象介绍
Jan 20 #Javascript
You might like
PHP数据库开发知多少
2006/10/09 PHP
在mysql数据库原有字段后增加新内容
2009/11/26 PHP
PHP 动态随机生成验证码类代码
2010/04/09 PHP
php xml 入门学习资料
2011/01/01 PHP
关于Iframe如何跨域访问Cookie和Session的解决方法
2013/04/15 PHP
详解PHP中instanceof关键字及instanceof关键字有什么作用
2015/11/05 PHP
PHP对称加密算法(DES/AES)类的实现代码
2017/11/14 PHP
使用jquery插件实现图片延迟加载技术详细说明
2011/03/12 Javascript
为JS扩展Array.prototype.indexOf引发的问题探讨及解决
2013/04/24 Javascript
js实现温度计时间样式代码分享
2015/08/21 Javascript
Angular.Js的自动化测试详解
2016/12/09 Javascript
JS实现图片垂直居中显示小结
2016/12/13 Javascript
HTML5 js实现拖拉上传文件功能
2020/11/20 Javascript
JS利用cookies设置每隔24小时弹出框
2017/04/20 Javascript
通过一个简单的例子学会vuex与模块化
2017/11/22 Javascript
深入浅出理解JavaScript高级定时器原理与用法
2018/08/02 Javascript
vant(ZanUi)结合async-validator实现表单验证的方法
2018/12/06 Javascript
nodejs 使用http进行post或get请求的实例(携带cookie)
2019/01/03 NodeJs
egg.js的基本使用和调用数据库的方法示例
2019/05/18 Javascript
layui实现根据table数据判断按钮显示情况的方法
2019/09/26 Javascript
JavaScript实现留言板案例
2020/03/17 Javascript
[01:06:25]Secret vs Liquid 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
zbar解码二维码和条形码示例
2014/02/07 Python
Python实现图像几何变换
2015/07/06 Python
Tensorflow卷积神经网络实例进阶
2018/05/24 Python
pandas使用apply多列生成一列数据的实例
2018/11/28 Python
pycharm配置pyqt5-tools开发环境的方法步骤
2019/02/11 Python
英国最大的女士服装零售商:Bonmarché
2017/08/17 全球购物
Fenty Beauty官网:蕾哈娜创立的美妆品牌
2021/01/07 全球购物
英国排名第一的冲浪店:Ann’s Cottage
2020/06/21 全球购物
艺术应用与设计个人的自我评价
2013/11/23 职场文书
创意活动策划书
2014/01/15 职场文书
九年级体育教学反思
2014/01/23 职场文书
教育专业毕业生推荐信
2014/07/10 职场文书
幼儿园庆六一主持词
2015/06/30 职场文书
医院消毒隔离制度
2015/08/05 职场文书