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监听输入框值的即时变化onpropertychange、oninput
Jul 13 Javascript
file模式访问网页时iframe高度自适应解决方案
Jan 16 Javascript
jquery实现控制表格行高亮实例
Jun 05 Javascript
JavaScript常用全局属性与方法记录积累
Jul 03 Javascript
分享20个提升网站界面体验的jQuery插件
Dec 15 Javascript
基于JavaScript实现简单的音频播放功能
Jan 07 Javascript
浅谈React 服务器端渲染的使用
May 08 Javascript
每个 JavaScript 工程师都应懂的33个概念
Oct 22 Javascript
@angular前端项目代码优化之构建Api Tree的方法
Dec 24 Javascript
Vue实现剪切板图片压缩功能
Feb 04 Javascript
React如何创建组件
Jun 27 Javascript
Vue OpenLayer 为地图绘制风场效果
Apr 24 Vue.js
贴一个在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
解析二进制流接口应用实例 pack、unpack、ord 函数使用方法
2013/06/18 PHP
分享两个手机访问pc网站自动跳转手机端网站代码
2020/12/24 Javascript
JS实现兼容性好,自动置顶的淘宝悬浮工具栏效果
2015/09/18 Javascript
JS实现的新浪微博大厅文字内容滚动效果代码
2015/11/05 Javascript
javascript中tostring()和valueof()的用法及两者的区别
2015/11/16 Javascript
AngularJs解决跨域问题案例详解(简单方法)
2016/05/19 Javascript
Bootstrap中的表单验证插件bootstrapValidator使用方法整理(推荐)
2016/06/21 Javascript
基于JavaScript实现在新的tab页打开url
2016/08/04 Javascript
jQuery动态生成表格及右键菜单功能示例
2017/01/13 Javascript
jQuery实现可兼容IE6的遮罩功能详解
2017/09/19 jQuery
vue-router 路由基础的详解
2017/10/17 Javascript
基于webpack-hot-middleware热加载相关错误的解决方法
2018/02/22 Javascript
通过封装scroll.js 获取滚动条的值
2018/07/13 Javascript
electron中使用bootstrap的示例代码
2018/11/06 Javascript
微信小程序自定义可滑动日历界面
2018/12/28 Javascript
Nodejs实现用户注册功能
2019/04/14 NodeJs
vuejs数据超出单行显示更多,点击展开剩余数据实例
2019/05/05 Javascript
layui问题之模拟table表格中的选中按钮选中事件的方法
2019/09/20 Javascript
vue实例的选项总结
2020/06/09 Javascript
python访问sqlserver示例
2014/02/10 Python
Python学习笔记之os模块使用总结
2014/11/03 Python
Python生成器(Generator)详解
2015/04/13 Python
解决python3 网络请求路径包含中文的问题
2018/05/10 Python
Django使用详解:ORM 的反向查找(related_name)
2018/05/30 Python
python实现月食效果实例代码
2019/06/18 Python
python怎么判断素数
2020/07/01 Python
Pytorch生成随机数Tensor的方法汇总
2020/09/09 Python
西班牙在线宠物商店:zooplus.es
2017/02/24 全球购物
Mountain Hardwear官网:攀岩服装和户外装备
2019/09/26 全球购物
后勤服务中心总经理工作职责
2014/03/03 职场文书
开学典礼决心书
2014/03/11 职场文书
云冈石窟导游词
2015/02/04 职场文书
大专护理专业自荐信
2015/03/25 职场文书
培训通知
2015/04/17 职场文书
Redis 操作多个数据库的配置的方法实现
2022/03/23 Redis
Java 写一个简单的图书管理系统
2022/04/26 Java/Android