⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jsurlcode.txt

📁 用JavaScript实现UrlEncode和UrlDecode功能
💻 TXT
字号:
用JavaScript实现UrlEncode和UrlDecode功能
作者:天空诚 来源:中国Asp之家 时间:2008-1-27 网友评论0条 【大 中 小】 
对url进行编码在服务器端我们可以使用asp中的server.urlencode,很方便实现。如:

<% 
ss="中国asp之家欢迎您!Aspxhome.com" 
response.write server.urlencode(ss) 
%>
而在客户端我们可以使用js中encodeURI,encodeURIComponent函数来实现,但是经过这些函数编码的url地址都说UTF-8格式的,只能用在这种编码的网页。其它编码的网页将出现乱码,本文介绍了使用自定义函数来实现asp中的类似server.urlencode的功能:

<!--代码来自网络-->
<title>用JavaScript实现asp中的UrlEncode和UrlDecode功能 - 中国asp之家</title>
<script language="vbscript"> 
Function str2asc(strstr) 
 str2asc = hex(asc(strstr)) 
End Function 
Function 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); 
    //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; 
} 

ss="中国asp之家欢迎您!Aspxhome.com"
aa=UrlEncode(ss)
bb=UrlDecode(ss)
document.write("编码后"+aa+"<br>");
document.write("解码后:"+bb);
</script>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -