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

Javascript
学习js所必须要知道的一些
动态生成页面元素的代码
js+FSO遍历文件夹下文件并显示
动态控制Table的js代码
javascript中的location用法简单介绍
用window.location.href实现刷新另个框架页面
从JavaScript的函数重名看其初始化方式
利用JScript中运算符"||"和"&&"的特殊特性实现代码精简
JScript中的''var''定义变量的作用域
JavaScript语言中的Literal Syntax特性分析
JS类中定义原型方法的两种实现的区别
在JavaScript中使用inline函数的问题
区分JS中的undefined,null,"",0和false
JavaScript中this关键字使用方法详解
function, new function, new Function之间的区别
JScript中的"this"关键字使用方式补充材料
JavaScript语句可以不以;结尾的烦恼
JScript中的undefined和"undefined"的区别
使用IE的地址栏来辅助调试Web页脚本
JS类库Bindows1.3中的内存释放方式分析

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 333 ::
收藏到网摘: 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>