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 Ajax异步处理Json数据.
Sep 09 Javascript
jQuery用unbind方法去掉hover事件及其他方法介绍
Mar 18 Javascript
模拟电子签章盖章效果的jQuery插件源码
Jun 24 Javascript
Javascript玩转继承(一)
May 08 Javascript
js中对函数设置默认参数值的3种方法
Oct 23 Javascript
微信小程序 页面跳转如何实现传值
Apr 05 Javascript
深入理解react-router@4.0 使用和源码解析
May 23 Javascript
详解如何使用PM2将Node.js的集群变得更加容易
Nov 15 Javascript
node.js中axios使用心得总结
Nov 29 Javascript
详解mpvue开发微信小程序基础知识
Sep 23 Javascript
vue如何使用rem适配
Feb 06 Vue.js
Vue单页面应用中实现Markdown渲染
Feb 14 Vue.js
表单的一些基本用法与技巧
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
通过对服务器端特性的配置加强php的安全
2006/10/09 PHP
php _autoload自动加载类与机制分析
2012/02/10 PHP
PHP数组游标实现对数组的各种操作详解
2016/01/26 PHP
php倒计时出现-0情况的解决方法
2016/07/28 PHP
php对xml文件的增删改查操作实现方法分析
2017/05/19 PHP
js wmp操作代码小结(音乐连播功能)
2008/11/08 Javascript
基于jQuery的消息提示插件之旅 DivAlert(三)
2010/04/01 Javascript
JS无法捕获滚动条上的mouse up事件的原因猜想
2012/03/21 Javascript
js判断屏幕分辨率的代码
2013/07/16 Javascript
jquery队列queue与原生模仿其实现方法分享
2014/03/25 Javascript
js脚本实现数据去重
2014/11/27 Javascript
jquery实现根据浏览器窗口大小自动缩放图片的方法
2015/07/17 Javascript
全面解析JavaScript的Backbone.js框架中的Router路由
2016/05/05 Javascript
Angular2+国际化方案(ngx-translate)的示例代码
2017/08/23 Javascript
基于vue-draggable 实现三级拖动排序效果
2020/01/10 Javascript
js实现双色球效果
2020/08/02 Javascript
vue-calendar-component 封装多日期选择组件的实例代码
2020/12/04 Vue.js
[00:55]深扒TI7聊天轮盘语音出处3
2017/05/11 DOTA
python解析xml文件操作实例
2014/10/05 Python
Python多进程同步Lock、Semaphore、Event实例
2014/11/21 Python
Python编程中对super函数的正确理解和用法解析
2016/07/02 Python
Python实现OpenCV的安装与使用示例
2018/03/30 Python
Python程序包的构建和发布过程示例详解
2019/06/09 Python
opencv python如何实现图像二值化
2020/02/03 Python
OSPREY LONDON官网:英国本土皮具品牌
2019/05/31 全球购物
Bloomingdale’s阿联酋:选购奢华时尚、美容及更多
2020/09/22 全球购物
广州足迹信息技术有限公司Java软件工程师试题
2014/02/15 面试题
电大学习个人自我评价范文
2013/10/04 职场文书
机关党员公开承诺书
2014/08/30 职场文书
安全承诺书
2015/01/19 职场文书
故意伤害罪辩护词
2015/05/21 职场文书
力克胡哲观后感
2015/06/10 职场文书
2015年学校政教工作总结
2015/07/20 职场文书
2016年“12.4”法制宣传日活动总结
2016/04/01 职场文书
自荐信范文
2019/05/20 职场文书
MySQL慢查询优化解决问题
2022/03/17 MySQL