求助!求助!firefox 浏览器下 URLDecode 函数脚本怎么写啊。。。急!在线等!!!!!!

kexingxu 2008-12-30 09:06:07
<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="!\"#$%&'()*+,/:;<=>?[]^`{|}~%";
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;
}
</script>
我这么写 在IE下 是通过的 。但是在fireFox浏览器下 就通不过了。。。。求高手帮帮 谢谢。。。
...全文
231 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
muxrwc 2008-12-31
  • 打赏
  • 举报
回复
URLDecode
URLEncode
在JS里是无法实现的.
因为JS里不支持ascii编码
不过你要是愿意引入一个若干大的码表也可以实现...
一般建议使用escape等转.在服务器端在转回来...
潜...
kexingxu 2008-12-31
  • 打赏
  • 举报
回复
晕。我是xmlhttp get的一个url他 返回的是 <%=server.URLEncode("大家好")%>
所以得解析下。
wisword 2008-12-31
  • 打赏
  • 举报
回复
直接<% response.write "大家好" %>不就行了?
linshaoang 2008-12-31
  • 打赏
  • 举报
回复
学习收藏

-----------------------------
http://www.51sooho.cn
tantaiyizu 2008-12-31
  • 打赏
  • 举报
回复
kexingxu 2008-12-30
  • 打赏
  • 举报
回复
我解的是 服务器端的 <%=server.URLEncode("大家好")%>
和客户端的encodeURI('大家好'); 不一样。
用decodeURI解析 说不是合法的 URI
  • 打赏
  • 举报
回复
使用 encodeURI 和 decodeURI 两个内置的函数不行么?

window.onload = function() {
var encode = encodeURI('大家好');
var decode = decodeURI(encode);
alert(encode + '\n' + decode);
}

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧