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 相关文章推荐
页面中body onload 和 window.onload 冲突的问题的解决
Jul 01 Javascript
jQuery 复合选择器应用的几个例子
Sep 11 Javascript
jquery果冻抖动效果实现方法
Jan 15 Javascript
javascript创建动态表单的方法
Jul 25 Javascript
php利用curl获取远程图片实现方法
Oct 26 Javascript
如何获取元素的最终background-color
Feb 06 Javascript
vue-resource 拦截器(interceptor)的使用详解
Jul 04 Javascript
基于vue的短信验证码倒计时demo
Sep 13 Javascript
深入剖析Express cookie-parser中间件实现示例
Feb 01 Javascript
vue刷新页面时去闪烁提升用户体验效果的实现方法
Dec 10 Javascript
vue配置文件实现代理v2版本的方法
Jun 21 Javascript
vue微信分享插件使用方法详解
Feb 18 Javascript
表单的一些基本用法与技巧
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
PHP4和PHP5共存于一系统
2006/11/17 PHP
PHP服务器页面间跳转实现方法
2012/08/02 PHP
改写ThinkPHP的U方法使其路由下分页正常
2014/07/02 PHP
PHP 信号管理知识整理汇总
2017/02/19 PHP
php smtp实现发送邮件功能
2017/06/22 PHP
javascript Keycode对照表
2009/10/24 Javascript
JavaScript 异步方法队列链实现代码分析
2010/06/05 Javascript
JQuery Highcharts 动态生成图表的方法
2013/11/15 Javascript
JAVA四种基本排序方法实例总结
2015/07/24 Javascript
jQuery实现非常实用漂亮的select下拉菜单选择效果
2015/11/06 Javascript
JQuery datepicker 用法详解
2015/12/25 Javascript
js 获取范围内的随机数实例代码
2016/08/02 Javascript
AngularJS基础 ng-mousemove 指令简单示例
2016/08/02 Javascript
js鼠标按键事件和键盘按键事件用法实例汇总
2016/10/03 Javascript
js实现无缝滚动图
2017/02/22 Javascript
js实现简单的获取验证码按钮效果
2017/03/03 Javascript
angularjs的select使用及默认选中设置
2017/04/08 Javascript
微信小程序实现循环动画效果
2018/07/16 Javascript
node使用Mongoose类库实现简单的增删改查
2018/11/08 Javascript
layer弹窗在键盘按回车将反复刷新的实现方法
2019/09/25 Javascript
小程序实现列表展开收起效果
2020/07/29 Javascript
Nest.js环境变量配置与序列化详解
2021/02/21 Javascript
理解Python中的With语句
2015/02/02 Python
总结用Pdb库调试Python的方式及常用的命令
2016/08/18 Python
Python实现 多进程导入CSV数据到 MySQL
2017/02/26 Python
浅谈numpy数组中冒号和负号的含义
2018/04/18 Python
详解Python Matplot中文显示完美解决方案
2019/03/07 Python
Django中template for如何使用方法
2021/01/31 Python
英国手机壳购买网站:Case Hut
2019/04/11 全球购物
不用游标的SQL语句有哪些
2012/09/07 面试题
如何用Python输出一个Fibonacci数列
2016/08/28 面试题
大学生职业生涯规划书前言
2014/01/09 职场文书
大学学习委员竞选稿
2015/11/20 职场文书
2019年自助餐厅创业计划书模板
2019/08/22 职场文书
Python深度学习之Pytorch初步使用
2021/05/20 Python
详解Java实现设计模式之责任链模式
2021/06/23 Java/Android