用JavaScript实现UrlEncode和UrlDecode的脚本代码_Javascript教程-查字典教程网
用JavaScript实现UrlEncode和UrlDecode的脚本代码
用JavaScript实现UrlEncode和UrlDecode的脚本代码
发布时间:2016-12-30 来源:查字典编辑
摘要:复制代码代码如下:Functionstr2asc(strstr)str2asc=hex(asc(strstr))EndFunctionFun...

复制代码 代码如下:

<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教程学习
    热门Javascript教程学习
    编程开发子分类