『壹』 java過濾非法字元的filter
filter代碼在pujia12345提供的代碼上改的;
jsp頁面的編碼你設成你自己的,我用的是-8。
input.jsp輸入後,正常跳轉到handle.jsp,而禁詞已經被過濾。
filter:
package test;
import java.io.*;
import javax.servlet.*;
import java.util.*;
public class MyFilter implements Filter
{
private List<String> unString;
public void init(FilterConfig filterConfig) throws ServletException
{
unString = new ArrayList<String>();
unString.add("日");
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException
{
String content = request.getParameter("content");//需要過濾的參數
if(content!=null){
for (int i = 0; i < unString.size(); i++)
{
String strIllegal = unString.get(i);
if (content.indexOf(strIllegal) >= 0)
{
content = content.replaceAll(strIllegal, "");//非法字元替換成空
}
request.setAttribute("content", content);//為request設置屬性保存修改後的值
}
}
chain.doFilter(request, response);
}
public void destroy()
{
//System.out.println("過濾器銷毀");
}
}
//---------------------------//
web.xml:
<filter>
<filter-name>myfilter</filter-name>
<filter-class>test.MyFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>myfilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
//---------------------------//
輸入頁面input.jsp:
<%@page contentType="text/html;charset=utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>input.jsp</title>
</head>
<body>
<form action="handle.jsp" method="post">
<input type="text" name="content" />
<input type="submit" value=" 提交 " />
</form>
</body>
</html>
//---------------------------//
input提交的頁面handle.jsp:
<%@page contentType="text/html;charset=utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> handle.jsp </title>
</head>
<body>
<%
String content = (String)request.getAttribute("content");
out.println(content);
%>
</body>
</html>
『貳』 句易網敏感詞過濾教程是怎麼樣的
這個文案過濾平台篩選敏感詞都是實時更新,只要搜索,你就可以准確地審核,整個效率也很高,文本的用戶優化,融合你整個的語義去檢測,更好的檢測出敏感詞,讓大家的文案都可以更加的安全,軟體內的數據樣板都是根據大數據來的,整體都是非常的高效率的。
營銷推廣文案模板也很齊全,不需要充錢也沒有門檻限制,多少次都免費,非常方便,新手也可以理解。
有了這個,用戶在發布復制時,可以非常方便,直接拷貝在過濾欄,所有敏感詞、禁用詞都會按字識別,操作不難,可以點擊界面直接使用,方便易用。使用過它的抖音用戶不再需要擔心因為抖音敏感詞而被禁。識別優化的文案資源可以。
『叄』 java 字元串過濾
packagetest;
importjava.util.HashMap;
/**
*maxLength-需要過濾最長字元串的長度
*filterStrs<string,string>-需要過濾字元串的集合,key為需要過濾字元串,value為過濾成的字元串如"*"
*@authorAdministrator
*
*/
publicclassTest{
privateintmaxLength;
privateHashMap<String,String>filterStrs=newHashMap<String,String>();
/**
*初始化需要過濾掉*的數量
*/
privateStringinitStr(intn){
StringBuffersb=newStringBuffer();
for(inti=0;i<n;i++){
sb.append('*');
}
returnsb.toString();
}
/**
*str-被過濾得字元串
*s-需要過濾得字元串
*獲得剩下未過濾的字元串
*/
privateStringgetNextStr(Stringstr,intstart,intslength){
if(start==0){
str=str.substring(slength);
}elseif(start+slength<str.length()){
str=str.substring(start+slength);
}
returnstr;
}
/**
*str-被過濾得字元串
*s-需要過濾得字元串
*獲得過濾後的字元串
*/
(StringBuffersb,Stringstr,intstart,Strings){
if(start!=0){
sb.append(str.substring(0,start));
}
sb.append(filterStrs.get(s));
returnsb;
}
/**
*str-被過濾的字元串
*過濾,並組合過濾後的字元串
*/
publicStringfilter(Stringstr){
StringBufferresultStr=newStringBuffer();
for(intstart=0;start<str.length();start++){
for(intend=start+1;end<=str.length()&&end<=start+maxLength;end++){
Strings=str.substring(start,end);
intslength=s.length();
if(filterStrs.containsKey(s)){
resultStr=getFilterStr(resultStr,str,start,s);
str=getNextStr(str,start,slength);
start=0;
end=start;
}
}
}
resultStr.append(str);
returnresultStr.toString();
}
publicvoidput(Stringkey){
intkeyLength=key.length();
filterStrs.put(key,initStr(keyLength));
if(keyLength>this.maxLength)
maxLength=keyLength;
}
publicstaticvoidmain(String[]agrs){
Testt=newTest();
t.put("TMD");
t.put("TNND");
t.put("NND");
System.out.println(t.filter("TMD,TNND..TMDTMDTMDTMD.tTNNDTMDTNNDTNNDTNND"));
}
}
『肆』 JAVA,過濾輸入的詞語,把無關詞語過濾掉
packagetest;
publicclassMyTest
{
publicstaticvoidmain(String[]args)
{
答Stringinput="Iwant200balls";
Stringreg="\d";
System.out.println(input.replaceAll(reg,""));
}
}
『伍』 在JAVA中怎麼實現關鍵字過濾
自己判斷一下, 字元串中是否包含某個關鍵字即可, String.contains(CharSequence s) 如果存在返回true, 否則返回false
『陸』 JAVA中如何利用StringBuffer方法來對一些用戶所提交的聊天內容中的敏感性詞語進行過濾
代碼發表不了,截圖給你
『柒』 java正則表達式過濾特殊字元
Stringregexp="[^'"%]*";
Stringstring="abc%";
System.out.println(string.matches(regexp));
『捌』 JAVA中如何過濾字元串裡面特殊字元
class test
{
public static void main(String []args)
{
String a = "1111-22-33 13:15:46",b=new String();
int i,j,t;
for(i=0;i<a.length();i++)
if(a.charAt(i)!='-' && a.charAt(i)!=':' && a.charAt(i)!=' ')
b=b+a.charAt(i);
System.out.println(b);
}
}
『玖』 在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();
}
『拾』 java編程 如何讓實現過濾 「臟字」
只能枚舉你要過濾的所有「臟字」了。最好寫在一個文件裡面,不要直接用數組。
寫個類完成將「臟字」替換為「*」號的邏輯。
加個過濾器,攔截提交留言的請求,並調用邏輯。