当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 用JavaScript实现UrlEncode和UrlDecode的脚本代码

Javascript
jQuery Selectors(选择器)的使用(七、子元素篇)
jquery 事件执行检测代码
javascript 支持页码格式的分页类
javascript tabIndex属性
jquery tablesorter.js 支持中文表格排序改进
javascript 返回数组中不重复的元素
javascript 文字上下间隔滚动的代码 符合WEB标准 脚本之家修正版
jQuery 开天辟地入门篇一
jMessageBox 基于jQuery的窗口插件
用javascript获取当页面上鼠标光标位置和触发事件的对象的代码
javascript实现的textarea运行框效果代码 不用指定id批量指定
测试你的JS的掌握程度的代码
js 与或运算符 || && 妙用
模仿JQuery.extend函数扩展自己对象的js代码
json 介绍 js简单实例
Ext.MessageBox工具类简介
ASP小贴士/ASP Tips javascript tips可以当桌面
勾选时激活input 否则禁用的javascript代码
javascript 输入文本框时的友好提示
jValidate 基于jQuery的表单验证插件

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 267 ::
收藏到网摘: n/a

UrlEncode和UrlDecode函数 <script type="text/vbscript">
Function str2asc(strstr)
str2asc = hex(asc(strstr))
End Function
Function asc2str(ascasc)
asc2str = chr(ascasc)
End Function
</script>
<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>