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 相关文章推荐
js取float型小数点后两位数的方法
Jan 18 Javascript
js控制再次点击按钮之间的间隔时间可防止重复提交
Aug 01 Javascript
jQuery中height()方法用法实例
Dec 24 Javascript
JavaScript中Cookie操作实例
Jan 09 Javascript
限制文本框只能输入数字||只能是数字和小数点||只能是整数和浮点数
May 27 Javascript
vue之数据交互实例代码
Jun 20 Javascript
轻松玩转BootstrapTable(后端使用SpringMVC+Hibernate)
Sep 06 Javascript
webpack的CSS加载器的使用
Sep 11 Javascript
webpack4与babel配合使es6代码可运行于低版本浏览器的方法
Oct 12 Javascript
javascript写一个ajax自动拦截并下载数据代码实例
Sep 07 Javascript
基于Vue的商品主图放大镜方案详解
Sep 19 Javascript
JavaScript实现点击自制菜单效果
Feb 02 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中遍历stdclass object的实现代码
2011/06/09 PHP
php中HTTP_REFERER函数用法实例
2014/11/21 PHP
php中的抽象方法和抽象类
2017/02/14 PHP
关于laravel5.5的定时任务详解(demo)
2019/10/23 PHP
指定位置如果有图片显示图片,无图片显示广告的JS
2010/06/05 Javascript
兼容IE与firefox火狐的回车事件(js与jquery)
2010/10/20 Javascript
multiSteps 基于Jquery的多步骤滑动切换插件
2011/07/22 Javascript
左右悬浮可分组的网站QQ在线客服代码(可谓经典)
2012/12/21 Javascript
jQuery获取CSS样式中的颜色值的问题,不同浏览器格式不同的解决办法
2013/05/13 Javascript
jquery实现简单的拖拽效果实例兼容所有主流浏览器(优化篇)
2013/06/28 Javascript
jquery实现ajax提交form表单的方法总结
2014/03/03 Javascript
JS中使用Array函数shift和pop创建可忽略参数的例子
2014/05/28 Javascript
基于jQuery+PHP+Mysql实现在线拍照和在线浏览照片
2015/09/06 Javascript
js中字符串编码函数escape()、encodeURI()、encodeURIComponent()区别详解
2016/04/01 Javascript
BootStrap 智能表单实战系列(二)BootStrap支持的类型简介
2016/06/13 Javascript
JavaScript监听手机物理返回键的两种解决方法
2017/08/14 Javascript
关于angularJs清除浏览器缓存的方法
2017/11/28 Javascript
JS中数组与对象的遍历方法实例小结
2018/08/14 Javascript
vue-cli3.0+element-ui上传组件el-upload的使用
2018/12/03 Javascript
Vue.js 图标选择组件实践详解
2018/12/03 Javascript
javascript实现blob加密视频源地址的方法
2019/08/08 Javascript
JS数组方法reverse()用法实例分析
2020/01/18 Javascript
JS简单表单验证功能完整示例
2020/01/26 Javascript
vue+AI智能机器人回复功能实现
2020/07/16 Javascript
vue实现一个矩形标记区域(rectangle marker)的方法
2020/10/28 Javascript
python方向键控制上下左右代码
2018/01/20 Python
python利用socketserver实现并发套接字功能
2018/01/26 Python
Python设计模式之职责链模式原理与用法实例分析
2019/01/11 Python
CSS3中的Transition过度与Animation动画属性使用要点
2016/05/20 HTML / CSS
英国绿色商店:Natural Collection
2019/05/03 全球购物
测绘工程系学生的自我评价
2013/11/30 职场文书
会议接待欢迎词
2014/01/12 职场文书
教学实习自我评价
2014/01/28 职场文书
社区灵活就业证明
2014/11/03 职场文书
三方协议书
2015/01/27 职场文书
2015年复活节活动总结
2015/02/27 职场文书