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 相关文章推荐
Js的MessageBox
Dec 03 Javascript
JS运行耗时操作的延时显示方法
Nov 19 Javascript
js获取html文件的思路及示例
Sep 17 Javascript
Javascript学习笔记之 函数篇(一) : 函数声明和函数表达式
Jun 24 Javascript
jQuery的load()方法及其回调函数用法实例
Mar 25 Javascript
JavaScript自学笔记(必看篇)
Jun 23 Javascript
JS中如何实现复选框全选功能
Dec 19 Javascript
实例详解Node.js 函数
Jun 10 Javascript
Vue插值、表达式、分隔符、指令知识小结
Oct 12 Javascript
Vue 全家桶实现移动端酷狗音乐功能
Nov 16 Javascript
Node.js中package.json中库的版本号(~和^)
Apr 02 Javascript
Vue是怎么渲染template内的标签内容的
Jun 05 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
PHP IN_ARRAY 函数使用注意事项
2010/07/24 PHP
PHP中用正则表达式清除字符串的空白
2011/01/17 PHP
php防止伪造的数据从URL提交方法
2014/06/27 PHP
摘自织梦CMS的HTTP文件下载类
2015/08/08 PHP
PHP 7.0新增加的特性介绍
2017/06/08 PHP
IE8 原生JSON支持
2009/04/13 Javascript
JavaScript Chart 插件整理
2010/06/18 Javascript
基于jquery的使ListNav兼容中文首字拼音排序的实现代码
2011/07/10 Javascript
JavaScript创建对象的写法
2013/08/29 Javascript
Javascript setInterval的两种调用方法(实例讲解)
2013/11/29 Javascript
总结JavaScript的正则与其他语言的不同之处
2016/08/25 Javascript
微信小程序入门教程
2016/11/18 Javascript
Jquery与Bootstrap实现后台管理页面增删改查功能示例
2017/01/22 Javascript
vue组件如何被其他项目引用
2017/04/13 Javascript
jQuery实现表单动态添加与删除数据操作示例
2018/07/03 jQuery
Vue父子组件双向绑定传值的实现方法
2018/07/31 Javascript
使用Vuex解决Vue中的身份验证问题
2018/09/28 Javascript
vue实现的双向数据绑定操作示例
2018/12/04 Javascript
Angular(5.2-&gt;6.1)升级小结
2018/12/27 Javascript
vue3.0中的双向数据绑定方法及优缺点
2019/08/01 Javascript
vue+webpack dev本地调试全局样式引用失效的解决方案
2019/11/12 Javascript
[03:36]DOTA2完美大师赛coL战队趣味视频——我演你猜
2017/11/23 DOTA
python分割文件的常用方法
2014/11/01 Python
Python操作RabbitMQ服务器实现消息队列的路由功能
2016/06/29 Python
情人节快乐! python绘制漂亮玫瑰
2020/08/18 Python
python 自动批量打开网页的示例
2019/02/21 Python
python 自定义装饰器实例详解
2019/07/20 Python
基于Python的图像数据增强Data Augmentation解析
2019/08/13 Python
什么是python类属性
2020/06/10 Python
Python实现http接口自动化测试的示例代码
2020/10/09 Python
css3背景_动力节点Java学院整理
2017/07/11 HTML / CSS
凯伦·米莲女装网上商店:Karen Millen
2017/11/07 全球购物
给学校建议书范文
2014/05/13 职场文书
煤矿安全协议书
2014/08/20 职场文书
幼儿园小班教师个人工作总结
2015/02/06 职场文书
类和原型的设计模式之复制与委托差异
2022/07/07 Javascript