「java过滤字符」java过滤非法字符
今天给各位分享java过滤字符的知识,其中也会对java过滤非法字符进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、在java中,很多用户都希望在输入信息时就过滤那些不想输入的字符,可以利用()来实现?
- 2、jsp\java 如何编写过滤器过滤特殊字符?
- 3、java 字符串过滤
- 4、java怎样过滤危险字符
- 5、在Java中如何把字符串的不想的字符给去掉?
在java中,很多用户都希望在输入信息时就过滤那些不想输入的字符,可以利用()来实现?
可以用正则表达式过滤。
// 过滤特殊字符 public staticString StringFilter(String str) throws PatternSyntaxException {
// 只允许字母和数字 // String regEx ="[^a-zA-Z0-9]";
// 清除掉所有特殊字符
String regEx="[`~!@#$%^*()+=|{}':;',\\[\\]./?~!@#¥%……*()——+|{}【】‘;:”“’。,、?]";
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(str);
return m.replaceAll("").trim();
}
jsp\java 如何编写过滤器过滤特殊字符?
package com.jingdu.common;\x0d\x0aimport java.io.IOException;\x0d\x0aimport java.io.PrintWriter;\x0d\x0aimport javax.servlet.Filter;\x0d\x0aimport javax.servlet.FilterChain;\x0d\x0aimport javax.servlet.FilterConfig;\x0d\x0aimport javax.servlet.ServletException;\x0d\x0aimport javax.servlet.ServletRequest;\x0d\x0aimport javax.servlet.ServletResponse;\x0d\x0aimport javax.servlet.http.HttpServletRequest;\x0d\x0aimport javax.servlet.http.HttpServletResponse;\x0d\x0a\x0d\x0apublic class IllegalCharacterFilter implements Filter {\x0d\x0a private String[] characterParams = null;\x0d\x0a private boolean OK=true;\x0d\x0a \x0d\x0a public void init(FilterConfig config) throws ServletException {\x0d\x0a \x0d\x0a// if(config.getInitParameter("characterParams").length()
回答于 2022-11-16
java 字符串过滤
package test;
import java.util.HashMap;
/**
* maxLength-需要过滤最长字符串的长度
* filterStrsstring,string-需要过滤字符串的集合,key为需要过滤字符串,value为过滤成的字符串如"*"
* @author Administrator
*
*/
public class Test{
private int maxLength;
private HashMapString,String filterStrs=new HashMapString,String();
/**
* 初始化需要过滤掉*的数量
*/
private String initStr(int n){
StringBuffer sb=new StringBuffer();
for(int i=0;in;i++){
sb.append('*');
}
return sb.toString();
}
/**
* str-被过滤得字符串
* s-需要过滤得字符串
* 获得剩下未过滤的字符串
*/
private String getNextStr(String str,int start,int slength){
if(start==0){
str=str.substring(slength);
}else if(start+slengthstr.length()){
str=str.substring(start+slength);
}
return str;
}
/**
* str-被过滤得字符串
* s-需要过滤得字符串
* 获得过滤后的字符串
*/
private StringBuffer getFilterStr(StringBuffer sb,String str,int start,String s){
if(start!=0){
sb.append(str.substring(0,start));
}
sb.append(filterStrs.get(s));
return sb;
}
/**
* str-被过滤的字符串
* 过滤,并组合过滤后的字符串
*/
public String filter(String str) {
StringBuffer resultStr=new StringBuffer();
for(int start=0;startstr.length();start++){
for(int end=start+1;end=str.length()end=start+maxLength;end++){
String s=str.substring(start, end);
int slength=s.length();
if(filterStrs.containsKey(s)){
resultStr=getFilterStr(resultStr,str,start,s);
str=getNextStr(str,start,slength);
start=0;
end=start;
}
}
}
resultStr.append(str);
return resultStr.toString();
}
public void put(String key) {
int keyLength=key.length();
filterStrs.put(key, initStr(keyLength));
if(keyLengththis.maxLength)
maxLength=keyLength;
}
public static void main(String[] agrs){
Test t=new Test();
t.put("TMD");
t.put("TNND");
t.put("NND");
System.out.println(t.filter("TMD,TNND..TMDTMDTMDTMD.tTNND TMDTNNDTNNDTNND"));
}
}
java怎样过滤危险字符
就WEB应用来说,所谓危险的字符一般就是两种
一个是SQL注入,一个是HTML语法注入
SQL注入主流的框架都可以搞定,JDBC永远都使用preparedstatement就可以防止所有的sql注入,关键是用户输入都要通过占位符往里放,就自动的替换掉了特殊字符了。hibernate等orm框架都会搞定这个问题
HTML语法注入是指用户输入的html代码回显出来,这样如果不转义就可以破坏页面的结构或者注入脚本。所以现在的网站都不允许用户直接输入html代码了,现在都是一些UBB标签来完成一些效果。HTML主要最好的解决办法是在回显的时候进行转义,所有的MVC框架或者展示层框架都有HTML转义的支持,包括struts,spring,volicty等,注意观察他们用于显示的标签
在Java中如何把字符串的不想的字符给去掉?
String str="009012005001";//你的字符串
String [] strs=str.split("0");//将不想要的字符过滤掉,生成字符串数组形式的
String newstr="";
for(int i=0;istrs.length;i++)
{
if(!strs[i].equals("")){//如果截取的字符串不为空,则赋予新的字符串,加上.使之成为IP格式
newstr+=strs[i]+".";
}
}
newstr=newstr.substring(0, newstr.length()-1);//将最后一个点去掉
System.out.println(newstr);//输出
有不懂的问我 QQ:307525445
java过滤字符的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java过滤非法字符、java过滤字符的信息别忘了在本站进行查找喔。
发布于:2022-11-26,除非注明,否则均为
原创文章,转载请注明出处。