08-03
31
一个过滤html输入字符的类
作者:Java伴侣 日期:2008-03-31
在html如果输入 < > ' & 被当做html语句,这些特殊字符在我们等待用户输入的时候必须过滤,可以采用这个类来过滤......
复制内容到剪贴板 程序代码
package moonsoft.test.j2ee.testSession;
public class FilerSpecial
{
public FilerSpecial()
{
}
public static String filter(String input)
{
if(!hasSpecialChars(input))
{
return input;
}
StringBuffer filtered =new StringBuffer(input.length());
char c;
for(int i=0; i<=input.length()-1; i++)
{
c=input.charAt(i);
switch(c)
{
case '<':filtered.append("<"); break;
case '>':filtered.append(">"); break;
case '"':filtered.append("&uot;"); break;
case '&':filtered.append("&"); break;
default: filtered.append(c);
}
}
return (filtered.toString());
}
public static boolean hasSpecialChars(String input)
{
boolean flag=false;
if((input!=null)&&(input.length()>0))
{
char c;
for(int i=0; i<=input.length()-1; i++)
{
c=input.charAt(i);
switch(c)
{
case '>': flag=true; break;
case '<': flag=true; break;
case '"': flag=true; break;
case '&': flag=true; break;
}
}
}
return flag;
}
}
public class FilerSpecial
{
public FilerSpecial()
{
}
public static String filter(String input)
{
if(!hasSpecialChars(input))
{
return input;
}
StringBuffer filtered =new StringBuffer(input.length());
char c;
for(int i=0; i<=input.length()-1; i++)
{
c=input.charAt(i);
switch(c)
{
case '<':filtered.append("<"); break;
case '>':filtered.append(">"); break;
case '"':filtered.append("&uot;"); break;
case '&':filtered.append("&"); break;
default: filtered.append(c);
}
}
return (filtered.toString());
}
public static boolean hasSpecialChars(String input)
{
boolean flag=false;
if((input!=null)&&(input.length()>0))
{
char c;
for(int i=0; i<=input.length()-1; i++)
{
c=input.charAt(i);
switch(c)
{
case '>': flag=true; break;
case '<': flag=true; break;
case '"': flag=true; break;
case '&': flag=true; break;
}
}
}
return flag;
}
}
评论: 0 | 引用: 0 | 查看次数: 516
发表评论