日期:2014-05-18  浏览次数:20781 次

字符过滤
网上上对敏感字符的过滤

求一个高效的方法

如:String[]   a={ " ", " "};
a是需要过滤的字符串数组

String   b= "dfdsfsdaf   aadfsd   ";

b是需要过滤的字符串

求写法



------解决方案--------------------
正则表达式贝
------解决方案--------------------
同楼上
------解决方案--------------------
如果是网上的话 直接用servlet里面的filter过滤
------解决方案--------------------
filterline是关键字
for (ii=0;ii <filterline.length;ii++){
//var pattern = eval( "/( "+filterline[ii]+ ")/ig ");
//str1=str1.replace(pattern, " ");
pattern =eval( "str1.match(/ "+filterline[ii]+ "/ig) ");
if (pattern){
document.inputform.msg.value= "大家好 "
return
}
}
------解决方案--------------------
String[] a={ " ", " "};
String b= "dfdsfsdaf aadfsd ";
String pat=a[0];

for(int i=1;i <a.length;i++)pat=pat+ "| "+a[i];

System.out.println(b.replaceAll(pat, " "));

我会这样做,其他的不知道.
------解决方案--------------------
java的java.util.regex包下面有现成的类。
------解决方案--------------------
> > 高效的方法
这里的“高效的方法”是指运算速度快还是编码简单?
------解决方案--------------------
正则表达式

------解决方案--------------------
看来LZ还在用SQL拼接啊,这种方式实在是太不安全了,还要自己过滤,要是某些环境下必须要使用到这些特殊字符怎么办??
建议看看JDBC中的预编译,如果DB是MS SQL SERVER的话,可以使用存储过程。