Javascript - HTML的request类


Posted in Javascript onJuly 15, 2006

做中英转换的时候,要准确的获取参数并取出,所以做了一个简单的html中用js获取当取地址栏的一个Object。
里面有三个方法:
1、request.QueryString("参数")//获取指定参数,返回字符串;
2、request.QueryStrings();//获取全部参数,并返回数组;
3、request.setQuery("参数","参数的值");//如果当前地址栏有此参数,那么将更新此参数,否则返回一个新的地址栏参数字符串。
例如:
当前地址栏参数字符串为:?name=a&site=never_online

alert(request.setQuery("name","blueDestiny"))

如果地址栏参数中有"name",那么返回?name=blueDestiny&site=never_online

setQuery方法有自动追加参数的功能。如:
当前地址栏参数字符串为:?site=never_online
alert(request.setQuery("name","blueDestiny"))
则返回?site=never_online&name=blueDestiny

同理,如果地址栏没有参数,也会自动追加参数
alert(request.setQuery("name","blueDestiny"))
返回?name=blueDestiny

<SCRIPT LANGUAGE="JavaScript">
<!--
// author: never-online
// web: never-online.net
var request = {
 QueryString : function(val) {
 var uri = window.location.search;
 var re = new RegExp("" +val+ "\=([^\&\?]*)", "ig");
 return ((uri.match(re))?(uri.match(re)[0].substr(val.length+1)):null);
 },
 QueryStrings : function() {
 var uri = window.location.search;
 var re = /\w*\=([^\&\?]*)/ig;
 var retval=[];
 while ((arr = re.exec(uri)) != null)
 retval.push(arr[0]);
 return retval;
 },
 setQuery : function(val1, val2) {
 var a = this.QueryStrings();
 var retval = "";
 var seted = false;
 var re = new RegExp("^" +val1+ "\=([^\&\?]*)$", "ig");
 for(var i=0; i<a.length; i++) {
 if (re.test(a[i])) {
 seted = true;
 a[i] = val1 +"="+ val2;
 }
 }
 retval = a.join("&");
 return "?" +retval+ (seted ? "" : (retval ? "&" : "") +val1+ "=" +val2);
 }
}
alert(request.setQuery("e","b"))
//-->
</SCRIPT>

Javascript 相关文章推荐
关于javascript中this关键字(翻译+自我理解)
Oct 20 Javascript
js控制再次点击按钮之间的间隔时间可防止重复提交
Aug 01 Javascript
JavaScript实现复制或剪切内容到剪贴板功能的方法
May 23 Javascript
Bootstrap实现提示框和弹出框效果
Jan 11 Javascript
JavaScript判断浏览器及其版本信息
Jan 20 Javascript
Bootstrap栅格系统简单实现代码
Mar 06 Javascript
用Vue.js方法创建模板并使用多个模板合成
Jun 28 Javascript
微信小程序判断用户是否需要再次授权获取个人信息
Jul 18 Javascript
在Vue项目中用fullcalendar制作日程表的示例代码
Aug 04 Javascript
微信小程序学习总结(四)事件与冒泡实例分析
Jun 04 Javascript
JavaScript位置参数实现原理及过程解析
Sep 14 Javascript
vue elementUI批量上传文件
Apr 26 Vue.js
表单的一些基本用法与技巧
Jul 15 #Javascript
popdiv
Jul 14 #Javascript
游戏人文件夹程序 ver 4.03
Jul 14 #Javascript
游戏人文件夹程序 ver 3.0
Jul 14 #Javascript
表单提交验证类
Jul 14 #Javascript
如何实现浏览器上的右键菜单
Jul 10 #Javascript
载入进度条 效果
Jul 08 #Javascript
You might like
PHP 配置open_basedir 让各虚拟站点独立运行
2009/11/12 PHP
php实现搜索类封装示例
2016/03/31 PHP
制作个性化的WordPress登陆界面的实例教程
2016/05/21 PHP
PHP环形链表实现方法示例
2017/09/15 PHP
PHP大文件切割上传功能实例分析
2019/07/01 PHP
PHP项目多语言配置平台实现过程解析
2020/05/18 PHP
php实现简易计算器
2020/08/28 PHP
IE和firefox浏览器的event事件兼容性汇总
2009/12/06 Javascript
JavaScript中使用正则匹配多条,且获取每条中的分组数据
2010/11/30 Javascript
什么是DOM(Document Object Model)文档对象模型
2012/03/05 Javascript
解析javascript 数组以及json元素的添加删除
2013/06/26 Javascript
js定时器怎么写?就是在特定时间执行某段程序
2013/10/11 Javascript
js导出txt示例代码
2014/01/14 Javascript
js实现div拖动动画运行轨迹效果代码分享
2015/08/27 Javascript
仿Angular Bootstrap TimePicker创建分钟数-秒数的输入控件
2016/07/01 Javascript
vue.js事件处理器是什么
2017/03/20 Javascript
angular学习之动态创建表单的方法
2018/12/07 Javascript
我要点爆”微信小程序云开发之项目建立与我的页面功能实现
2019/05/26 Javascript
vue移动端使用appClound拉起支付宝支付的实现方法
2019/11/21 Javascript
vue.js实现照片放大功能
2020/06/23 Javascript
深入讨论Python函数的参数的默认值所引发的问题的原因
2015/03/30 Python
Django框架中处理URLconf中特定的URL的方法
2015/07/20 Python
浅谈python多线程和队列管理shell程序
2015/08/04 Python
windows下ipython的安装与使用详解
2016/10/20 Python
python字典多键值及重复键值的使用方法(详解)
2016/10/31 Python
python输出电脑上所有的串口名的方法
2019/07/02 Python
python使用装饰器作日志处理的方法
2019/07/11 Python
浅谈Python3 numpy.ptp()最大值与最小值的差
2019/08/24 Python
pandas使用函数批量处理数据(map、apply、applymap)
2020/11/27 Python
详解canvas多边形(蜘蛛图)的画法示例
2018/01/29 HTML / CSS
为什么Runtime.exec(“ls”)没有任何输出?
2014/10/03 面试题
《草原》教学反思
2014/02/15 职场文书
2015年学生会干事工作总结
2015/04/09 职场文书
MySQL七种JOIN类型小结
2021/10/24 MySQL
Nginx流量拷贝ngx_http_mirror_module模块使用方法详解
2022/04/07 Servers
Python中requests库的用法详解
2022/06/05 Python