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 相关文章推荐
基于jQuery的消息提示插件之旅 DivAlert(三)
Apr 01 Javascript
图片img的src不变让浏览器重新加载实现方法
Mar 29 Javascript
javascript中创建对象的几种方法总结
Nov 01 Javascript
二叉树先序遍历的非递归算法具体实现
Jan 09 Javascript
实现无刷新联动例子汇总
May 20 Javascript
JavaScript中Number.NEGATIVE_INFINITY值的使用详解
Jun 05 Javascript
JavaScript函数学习总结以及相关的编程习惯指南
Nov 16 Javascript
详谈javascript异步编程
Feb 21 Javascript
JavaScript常用数组操作方法,包含ES6方法
May 10 Javascript
微信小程序动画(Animation)的实现及执行步骤
Oct 28 Javascript
详解小程序退出页面时清除定时器
Apr 28 Javascript
jquery登录的异步验证操作示例
May 09 jQuery
表单的一些基本用法与技巧
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
解析WordPress中的post_class与get_post_class函数
2016/01/04 PHP
PHP编程入门的基本语法知识点总结
2016/01/26 PHP
PHP弱类型的安全问题详细总结
2016/09/25 PHP
Javascript 获取链接(url)参数的方法[正则与截取字符串]
2010/02/09 Javascript
jquery 最简单易用的表单验证插件
2010/02/27 Javascript
!DOCTYPE声明对JavaScript的影响分析
2010/04/12 Javascript
SlideView 图片滑动(扩展/收缩)展示效果
2010/08/01 Javascript
javascript 弹出层组件(升级版)
2011/05/12 Javascript
js中判断数字\字母\中文的正则表达式 (实例)
2012/06/29 Javascript
各种常用的JS函数整理
2013/10/25 Javascript
用jquery写的菜单从左往右滑动出现
2014/04/11 Javascript
jquery实现兼容IE8的异步上传文件
2015/06/15 Javascript
JS+CSS实现简易实用的滑动门菜单效果
2015/09/18 Javascript
jQuery常用的一些技巧汇总
2016/03/26 Javascript
CodeMirror js代码加亮使用总结
2017/03/25 Javascript
Node.js利用debug模块打印出调试日志的方法
2017/04/25 Javascript
详解nodejs实现本地上传图片并预览功能(express4.0+)
2017/06/28 NodeJs
浅谈node中的exports与module.exports的关系
2017/08/01 Javascript
5分钟快速掌握JS中var、let和const的异同
2018/09/19 Javascript
koa+mongoose实现简单增删改查接口的示例代码
2019/05/13 Javascript
layer.prompt输入层的例子
2019/09/24 Javascript
使用Promise封装小程序wx.request的实现方法
2019/11/13 Javascript
[01:00:26]Ti4主赛事胜者组第一天 EG vs NEWBEE 1
2014/07/19 DOTA
Python多线程爬虫简单示例
2016/03/04 Python
Python创建二维数组实例(关于list的一个小坑)
2017/11/07 Python
Python处理命令行参数模块optpars用法实例分析
2018/05/31 Python
Python中pandas dataframe删除一行或一列:drop函数详解
2018/07/03 Python
pytorch实现用Resnet提取特征并保存为txt文件的方法
2019/08/20 Python
李维斯德国官方网上商店:Levi’s德国
2016/09/10 全球购物
Wojas罗马尼亚网站:波兰皮鞋品牌
2018/11/01 全球购物
老师的检讨书
2014/02/23 职场文书
成绩单家长评语大全
2014/04/16 职场文书
群众路线教育实践活动学习笔记内容
2014/11/06 职场文书
Nginx服务器如何设置url链接
2021/03/31 Servers
python opencv检测直线 cv2.HoughLinesP的实现
2021/06/18 Python
Moment的feature导致线上bug解决分析
2022/09/23 Javascript