您的位置:首页 > Web前端 > HTML

分享一段对字符串进行HTML编码解码的代码

2009-03-06 12:25 337 查看
最近写了一段对字符串进行HTML编码解码的代码,用JAVASCRIPT写的,贴出来与大家分享一下
//type为0是对字符串进行HTML编码

Escape = function(str,type)
{
if(type==0)
{
var  s  =  "";
if  (str.length  ==  0)  return  "";
for  (var  i=0;  i<str.length;  i++)
{
switch  (str.substr(i,1))
{
case  "<"  :  s  +=  "<";   break;
case  ">"  :  s  +=  ">";   break;
case  "&"  :  s  +=  "&";  break;
case  " "  :  s  +=  " ";  break;
case  "/'" :  s  +=  "'";  break;
case  "/"" :  s  +=  """;  break;
case  "/n" :  s  +=  "<br>";   break;
case  "//" :  s  +=  "////";   break;
case  "/r" :  s  +=  "";     break;
default    :  s  +=  str.substr(i,1);  break;
}
}
return s;
}
else
{
//先把<br>、// 替换
var restr = str.replace(/<br>/g,"/n").replace(//////g,"//");
var s = "";
if  (restr.length  ==  0)  return  "";
var i=0;
while(i<restr.length)
{
if(restr.substr(i,1)=="&")
{
//从第3位开始,到第5位,原因最短为 (<) ,最长是 ( )
for(var L = 3; L<6; L++)
{
if(restr.substr(i+L,1) == ";")
{
switch  (restr.substr(i,L+1))
{
case  "<"   :  s  +=  "<";   break;
case  ">"   :  s  +=  ">";   break;
case  "&"   :  s  +=  "&";   break;
case  " "   :  s  +=  " ";   break;
case  "'"   :  s  +=  "/'";  break;
case  """   :  s  +=  "/"";  break;
default     :  s  +=  "";    break;
}
i=i+L+1;
break;
}
else
{
if(L==5)
{
s +=str.substr(i,L+1);
i=i+6;
}
}
}
}
else
{
s+=restr.substr(i,1)
i++;
}
}

return s;
}
}
  

 没有仔细对其进行测试,如果发现有BUG,请留贴
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐