有个问题请教高手解答。
下面的代码网上很多地方都有转帖,是用JS encode url的代码,为啥我在使用时会报错:var c=str2asc(chrw);
这行中str2asc没有定义?
<script type="text/vbscript">
Function str2asc(strstr)
str2asc = hex(asc(strstr))
End Function
Function asc2str(ascasc)
asc2str = chrw(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 chrw = str.charAt(i);
var c=str2asc(chrw);
tt += chrw+":"+c+"n";
if(parseInt("0x"+c) > 0x7f){
ret+="%"+c.slice(0,2)+"%"+c.slice(-2);
}else{
if(chrw==" ")
ret+="+";
else if(strSpecial.indexOf(chrw)!=-1)
ret+="%"+c.toString(16);
else
ret+=chrw;
}
}
return ret;
}
function UrlDecode(str){
var ret="";
for(var i=0;i<str.length;i++){
var chrw = str.charAt(i);
if(chrw == "+"){
ret+=" ";
}else if(chrw=="%"){
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+= chrw;
}
}
return ret;
}
//alert(UrlDecode("%C2%D2%C2%EB"));
</script>