用JavaScript实现asp中的UrlEncode和UrlDecode功能

 
<title>用JavaScript实现asp中的UrlEncode和UrlDecode功能 </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; 
} 

function decodeURL(str) 
{
 
  var ss = decodeURI(str);
  return ss;
}

function encodeURL(str) 
{
 
  var ss = encodeURI(str);
  return ss;
}

 
aa=UrlEncode("三山街")
bb=UrlDecode("%C8%FD%C9%BD%BD%D6")
document.write("编码后:"+aa+"<br>");
document.write("解码后:"+bb);
</script>
<p><br>
    <textarea name="s1" cols="50" rows="5" id="s1"></textarea>
  <br>
  <br>
    <textarea name="s2" cols="50" rows="5" id="s2"></textarea>
  <br>
  <br>
  <input type="button" name="Submit" value="编码UrlEncode" onClick="s2.value=UrlEncode(s1.value)">
  <input type="button" name="Submit" value="解码UrlEncode" onClick="s1.value=UrlDecode(s2.value)">
</p>
<p><br>
  <textarea name="a1" cols="50" rows="5" id="a1"></textarea>
  <br>
  <br>
  <textarea name="a2" cols="50" rows="5" id="a2"></textarea>
</p>
<p>
  <input type="button" name="Submit" value="编码UrlEncode" onClick="a2.value=encodeURL(a1.value)">
  <input type="button" name="Submit" value="解码UrlEncode" onClick="a1.value=decodeURL(a2.value)">
</p>
<p>&nbsp;</p>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值