Javascript - HTML的request类


Posted in Javascript onJanuary 09, 2007

做中英转换的时候,要准确的获取参数并取出,所以做了一个简单的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 相关文章推荐
Auntion-TableSort国人写的一个javascript表格排序的东西
Nov 12 Javascript
Html中JS脚本执行顺序简单举例说明
Jun 19 Javascript
网易JS面试题与Javascript词法作用域说明
Nov 09 Javascript
javascript获取鼠标位置部分的实例代码(兼容IE,FF)
Aug 05 Javascript
Jquery 实现表格颜色交替变化鼠标移过颜色变化实例
Aug 28 Javascript
JavaScript通过字典进行字符串翻译转换的方法
Mar 19 Javascript
javascript实现10个球随机运动、碰撞实例详解
Jul 08 Javascript
jQuery实现类似标签风格的导航菜单效果代码
Aug 25 Javascript
JavaScript数组合并的多种方法
May 22 Javascript
Javascript 制作图形验证码实例详解
Dec 22 Javascript
js实现微信/QQ直接跳转到支付宝APP打开口令领红包功能
Jan 09 Javascript
vue 组件 全局注册和局部注册的实现
Feb 28 Javascript
贴一个在Mozilla中常用的Javascript代码
Jan 09 #Javascript
Javascript-Mozilla和IE中的一个函数直接量的问题
Jan 09 #Javascript
Javascript调试工具(下载)
Jan 09 #Javascript
如何在Mozilla Gecko 用Javascript加载XSL
Jan 09 #Javascript
如何让动态插入的javascript脚本代码跑起来。
Jan 09 #Javascript
JS效率个人经验谈(8-15更新),加入range技巧
Jan 09 #Javascript
你所要知道JS(DHTML)中的一些技巧
Jan 09 #Javascript
You might like
杏林同学录(二)
2006/10/09 PHP
PHP URL路由类实例
2013/11/12 PHP
windwos下使用php连接oracle数据库的过程分享
2014/05/26 PHP
php+Mysqli利用事务处理转账问题实例
2015/02/11 PHP
PHP二维数组矩形转置实例
2016/07/20 PHP
javascript add event remove event
2008/04/07 Javascript
JS中处理与当前时间间隔的函数代码
2012/05/23 Javascript
javascript中的delete使用详解
2013/04/11 Javascript
jquery的ajaxSubmit()异步上传图片并保存表单数据演示代码
2013/06/04 Javascript
JQuery报错Uncaught TypeError: Illegal invocation的处理方法
2015/03/13 Javascript
js实现浮动在网页右侧的简洁QQ在线客服代码
2015/09/04 Javascript
JavaScript选取(picking)和反选(rejecting)对象的属性方法
2017/08/16 Javascript
js提取中文拼音首字母的封装工具类
2018/03/12 Javascript
JS实现左边列表移到到右边列表功能
2018/03/28 Javascript
用ES6的class模仿Vue写一个双向绑定的示例代码
2018/04/20 Javascript
详解ajax的data参数错误导致页面崩溃
2018/04/30 Javascript
ES6中Set和Map数据结构,Map与其它数据结构互相转换操作实例详解
2019/02/28 Javascript
vue使用axios上传文件(FormData)的方法
2019/04/14 Javascript
浅谈Python中的可迭代对象、迭代器、For循环工作机制、生成器
2019/03/11 Python
详解Python中pandas的安装操作说明(傻瓜版)
2019/04/08 Python
如何在scrapy中集成selenium爬取网页的方法
2020/11/18 Python
Saks Fifth Avenue澳洲/亚太地区:萨克斯第五大道精品百货店
2019/06/09 全球购物
娱乐地球:Entertainment Earth
2020/01/08 全球购物
什么是Linux虚拟文件系统VFS
2015/08/25 面试题
竞选演讲稿范文
2013/12/28 职场文书
法警的竞聘演讲稿
2014/01/02 职场文书
创建市级文明单位实施方案
2014/03/01 职场文书
常务副总经理岗位职责
2014/04/12 职场文书
12岁生日演讲稿
2014/05/14 职场文书
小平您好观后感
2015/06/09 职场文书
会议简报格式范文
2015/07/20 职场文书
食堂管理制度范本
2015/08/04 职场文书
MATLAB 如何求取离散点的曲率最大值
2021/04/16 Python
Python之Matplotlib绘制热力图和面积图
2022/04/13 Python
笔记本自带的win11如何跳过联网激活?
2022/04/20 数码科技
字节飞书面试promise.all实现示例
2022/06/16 Javascript