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 相关文章推荐
ie 调试javascript的工具
Apr 29 Javascript
javascript 无提示关闭窗口脚本
Aug 17 Javascript
js将当前时间格式转换成时间搓(自写)
Sep 26 Javascript
node.js中的fs.futimesSync方法使用说明
Dec 17 Javascript
jQuery中:lt选择器用法实例
Dec 29 Javascript
JS简单去除数组中重复项的方法
Sep 13 Javascript
使用jQuery ajaxupload插件实现无刷新上传文件
Apr 23 jQuery
微信小程序 开发MAP(地图)实例详解
Jun 27 Javascript
javascript函数的节流[throttle]与防抖[debounce]
Nov 15 Javascript
vue实现div拖拽互换位置
Jul 29 Javascript
微信小程序bindtap事件与冒泡阻止详解
Aug 08 Javascript
如何对react hooks进行单元测试的方法
Aug 14 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
全国FM电台频率大全 - 6 辽宁省
2020/03/11 无线电
大师制作的中短波矿石收音机
2020/04/02 无线电
PHP 判断常量,变量和函数是否存在
2009/04/26 PHP
分享一个Laravel好用的Cache宏
2015/03/02 PHP
PHP简单获取视频预览图的方法
2015/03/12 PHP
PHP命名空间和自动加载类
2016/04/03 PHP
php中关于长度计算容易混淆的问题分析
2016/05/27 PHP
修改Laravel自带的认证系统的User类的命名空间的步骤
2019/10/15 PHP
php实现记事本案例
2020/10/20 PHP
js类型检查实现代码
2010/10/29 Javascript
浅谈Javascript鼠标和滚轮事件
2012/06/27 Javascript
php显示当前文件所在的文件以及文件夹所有文件以树形展开
2013/12/13 Javascript
js构造函数、索引数组和属性的实现方式和使用
2014/11/16 Javascript
jQuery插件Tooltipster实现漂亮的工具提示
2015/04/12 Javascript
谈谈第三方App接入微信登录 解读
2016/12/27 Javascript
bootstrap css样式之表单
2017/01/19 Javascript
JS实现移动端按首字母检索城市列表附源码下载
2017/07/05 Javascript
集合Bootstrap自定义confirm提示效果
2017/09/19 Javascript
解决layui中的form表单与button的点击事件冲突问题
2018/08/15 Javascript
JS尾递归的实现方法及代码优化技巧
2019/01/19 Javascript
微信小程序canvas截取任意形状的实现代码
2020/01/13 Javascript
vue.js click点击事件获取当前元素对象的操作
2020/08/07 Javascript
Python中非常实用的一些功能和函数分享
2015/02/14 Python
python实现基于SVM手写数字识别功能
2020/05/27 Python
Python实现判断字符串中包含某个字符的判断函数示例
2018/01/08 Python
Diango + uwsgi + nginx项目部署的全过程(可外网访问)
2018/04/22 Python
Python Flask框架扩展操作示例
2019/05/03 Python
python如何实现异步调用函数执行
2019/07/08 Python
vivo智能手机官方商城:vivo
2016/09/22 全球购物
县优秀教师事迹材料
2014/01/31 职场文书
趣味活动策划方案
2014/02/08 职场文书
法人代表授权委托书范文
2014/09/10 职场文书
应聘教师自荐信
2015/03/26 职场文书
2015秋季开学典礼主持词
2015/07/16 职场文书
2015小学新教师个人工作总结
2015/10/14 职场文书
使用springMVC所需要的pom配置
2021/09/15 Java/Android