用JavaScript和vbscript实现UrlEncode和UrlDecode

来源:互联网 发布:手机转帖软件 编辑:程序博客网 时间:2024/05/01 06:24
<script language="vbscript">/*利用VBScript构建asc码和字符串的互转函数*/Function str2asc(strstr)    str2asc = hex(asc(strstr))End FunctionFunction asc2str(ascasc)    asc2str = chr(ascasc)End Function</script> <script language="javascript">/*这里开始时UrlEncode和UrlDecode函数*/function UrlEncode(str){    var ret="";    var strSpecial="!"#$%&'()*+,/:;<=>?[]^`{|}~%";    for(var i=0;i<str.length;i++){        var chr = str.charAt(i);        var c=str2asc(chr);        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;}</script>


原创粉丝点击