求助 文本框数据的过滤
各位大虾:你们好!
如何能将输入在文本框中的非法字符过滤?
另外,如何来判断日期和邮箱地址的格式是否正确?
有这样的代码,请大虾教我,小弟感激不尽!!!!!!
程序代码:
package org.longrm.forum.util;
public class ServletUtils {
/**
* 过滤输入串里的非法字符,保证安全
* @param input
* @return
*/
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(); i++) {
c = input.charAt(i);
// 这里将非法字符替换
switch(c) {
case '<':
filtered.append("<");
break;
case '>':
filtered.append(">");
break;
case '"':
filtered.append(""");
break;
case '&':
filtered.append("&");
break;
default:
filtered.append(c);
}
}
return filtered.toString();
}
private static boolean hasSpecialChars(String input) {
boolean flag = false;
if(input!=null && input.length()>0) {
char c;
for(int i=0; i<input.length(); 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;
}
/**
* 空值替换
* @param org
* @param replace
* @return
*/
public static String replaceIfMissing(String org, String replace) {
if( (org==null) || (org.equals("")) ) {
return replace;
}
else
return org;
}
}
