用JavaScript实现UrlEncode和UrlDecode的脚本代码


Posted in Javascript onJuly 23, 2008
<script type="text/vbscript">     
Function str2asc(strstr)      
 str2asc = hex(asc(strstr))      
End Function      
Function asc2str(ascasc)      
 asc2str = chr(ascasc)      
End Function     
</script>

将vbscript函数转成javascript,方便非ie浏览器下使用

function str2asc(strstr){ 
return ("0"+strstr.charCodeAt(0).toString(16)).slice(-2); 
} 
function asc2str(ascasc){ 
return String.fromCharCode(ascasc); 
}
<script type="text/javascript">     
/*这里开始时UrlEncode和UrlDecode函数*/      
function UrlEncode(str){      
  var ret="";      
  var strSpecial="!\"#$%&'()*+,/:;<=>?[]^`{|}~%";      
  var tt= "";       for(var i=0;i<str.length;i++){      
   var chr = str.charAt(i);      
    var c=str2asc(chr);      
    tt += chr+":"+c+"n";      
    if(parseInt("0x"+c) > 0x7f){      
      ret+="%"+c.slice(0,2)+"%"+c.slice(-2);      
    }else{      
      if(chr==" ")      
        ret+="+";      
      else if(strSpecial.indexOf(chr)!=-1)      
        ret+="%"+c.toString(16);      
      else      
        ret+=chr;      
    }      
  }      
  return ret;      
}      
function UrlDecode(str){      
  var ret="";      
  for(var i=0;i<str.length;i++){      
   var chr = str.charAt(i);      
    if(chr == "+"){      
      ret+=" ";      
    }else if(chr=="%"){      
     var asc = str.substring(i+1,i+3);      
     if(parseInt("0x"+asc)>0x7f){      
      ret+=asc2str(parseInt("0x"+asc+str.substring(i+4,i+6)));      
      i+=5;      
     }else{      
      ret+=asc2str(parseInt("0x"+asc));      
      i+=2;      
     }      
    }else{      
      ret+= chr;      
    }      
  }      
  return ret;      
}      
alert(UrlDecode("%C2%D2%C2%EB"));     
</script>
Javascript 相关文章推荐
很多人都是用下面的js刷新站IP和PV
Sep 05 Javascript
根据对象的某一属性进行排序的js代码(如:name,age)
Aug 10 Javascript
JQuery 自定义CircleAnimation,Animate方法学习笔记
Jul 10 Javascript
JavaScript判断字符长度、数字、Email、电话等常用判断函数分享
Apr 01 Javascript
JavaScript和JQuery的鼠标mouse事件冒泡处理
Jun 19 Javascript
原生js实现autocomplete插件
Apr 14 Javascript
jQuery操作之效果详解
May 19 jQuery
jQuery访问浏览器本地存储cookie、localStorage和sessionStorage的基本用法
Oct 20 jQuery
JS实现的将html转为pdf功能【基于浏览器端插件jsPDF】
Feb 06 Javascript
vue.js 微信支付前端代码分享
Feb 10 Javascript
Angular 4.x+Ionic3踩坑之Ionic 3.x界面传值详解
Mar 13 Javascript
vue+iview/elementUi实现城市多选
Mar 28 Javascript
用js遍历 table的脚本
Jul 23 #Javascript
JavaScript 版本自动生成文章摘要
Jul 23 #Javascript
javascript 支持ie和firefox杰奇翻页函数
Jul 22 #Javascript
IE8 引入跨站数据获取功能说明
Jul 22 #Javascript
兼容多浏览器的字幕特效Marquee的通用js类
Jul 20 #Javascript
js停止输出代码
Jul 20 #Javascript
javascript 兼容FF的onmouseenter和onmouseleave的代码
Jul 19 #Javascript
You might like
PHP基础学习之流程控制的实现分析
2013/04/28 PHP
解析php通过cookies获取远程网页的指定代码
2013/06/25 PHP
php中apc缓存使用示例
2013/12/25 PHP
PHP防范SQL注入的具体方法详解(测试通过)
2014/05/09 PHP
PHP自定义函数判断是否为Get、Post及Ajax提交的方法
2017/07/27 PHP
EasyUI 中 MenuButton 的使用方法
2012/07/14 Javascript
JS短路原理的应用示例 精简代码的途径
2013/12/13 Javascript
js toFixed()方法的重写实现精度的统一
2014/03/06 Javascript
js控制div弹出层实现方法
2015/05/11 Javascript
jQuery+Ajax实现无刷新操作
2016/01/04 Javascript
基于jQuery和hwSlider实现内容左右滑动切换效果附源码下载(一)
2016/06/22 Javascript
AngularJs Dependency Injection(DI,依赖注入)
2016/09/02 Javascript
浅析JS中的 map, filter, some, every, forEach, for in, for of 用法总结
2017/03/29 Javascript
jQuery+PHP+Mysql实现抽奖程序
2020/04/12 jQuery
基于jQuery实现图片推拉门动画效果的两种方法
2017/08/26 jQuery
把JavaScript代码改成ES6语法不完全指南(分享)
2017/09/10 Javascript
微信小程序上传图片实例
2018/05/28 Javascript
微信小程序按钮去除边框线分享页面功能
2018/08/27 Javascript
分享Angular http interceptors 拦截器使用(推荐)
2019/11/10 Javascript
javascript实现弹幕墙效果
2019/11/28 Javascript
Vue中watch、computed、updated三者的区别及用法
2020/07/27 Javascript
Python中urllib+urllib2+cookielib模块编写爬虫实战
2016/01/20 Python
python使用itchat库实现微信机器人(好友聊天、群聊天)
2018/01/04 Python
python ffmpeg任意提取视频帧的方法
2020/02/21 Python
Python利用matplotlib绘制散点图的新手教程
2020/11/05 Python
python绘图模块之利用turtle画图
2021/02/12 Python
什么是Web Service?
2012/07/25 面试题
报关简历自我评价怎么写
2013/09/19 职场文书
工程造价与管理专业应届生求职信
2013/11/23 职场文书
大学本科生的个人自我评价
2013/12/09 职场文书
镇党政领导班子民主生活会思想汇报
2014/10/11 职场文书
2015年大学生入党自荐书
2015/03/24 职场文书
杨善洲观后感
2015/06/04 职场文书
电工实训心得体会
2016/01/14 职场文书
党员观看《筑梦中国》心得体会
2016/01/18 职场文书
2016年先进班集体事迹材料
2016/02/26 职场文书