Ⅰ 在Jsp頁面或者Filter過濾器中怎麼過濾臟話
不管是JSP還是Servlet,其Filter過濾器都是一個東西。因為JSP的本質就是Servlet,只不過是被包裝了一下,成了標准,讓Web伺服器都遵循這個標准來解析編譯執行而已。 以下演示的就是在JSP中如何過濾臟話(Servlet的處理方式也差不多): 一、 過濾器類 package com.filter;import java.io.BufferedReader;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Set;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletContext;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.http.HttpServletRequest;public class WordsFilter implements Filter { private Map< String, String>map = new HashMap< String, String>(); //過濾器的初始化 public void init(FilterConfig config) throws ServletException { String filePath = config.getInitParameter("filePath");//從配置文件中取得文件的相對路徑 ServletContext context = config.getServletContext(); String realPath = context.getRealPath(filePath);//根據相對路徑取得絕對路徑 try { FileReader freader = new FileReader(realPath);//根據絕對路徑,通過文件流來讀取文件 BufferedReader br = new BufferedReader(freader); String line = null; while((line=br.readLine()) != null) { String []str = line.split("="); map.put(str[0], str[1]); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { //亂碼處理 request.setCharacterEncoding("gb2312"); response.setContentType("text/html;charset=gb2312"); HttpServletRequest HttpReq = (HttpServletRequest) request; HttpReqWrapper hrw = new HttpReqWrapper(HttpReq); hrw.setMap(map); chain.doFilter(hrw, response); } public void destroy() { System.out.println("--過濾器的銷毀--"); } }二、請求包裝器
package com.filter;import java.util.Iterator;import java.util.Map;import java.util.Set;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletRequestWrapper;public class HttpReqWrapper extends HttpServletRequestWrapper { private Map< String,String> map = null; public HttpReqWrapper(HttpServletRequest request) { super(request); } //過濾臟話 public String replace(String str){ StringBuffer sb = new StringBuffer(str); Setkeys = this.getMap().keySet(); Iteratorit = keys.iterator(); String ss = null; while(it.hasNext()) { String key = it.next(); int index = sb.indexOf(key); if(index != -1) { if(key != null) ss = key; sb.replace(index, index+key.length(), this.getMap().get(key)); } } if(ss!=null) { if (sb.toString().indexOf(ss) == -1) { return sb.toString(); } else { return replace(sb.toString()); } } return sb.toString(); }// 重寫getParameter()方法 public String getParameter(String str) { if(str.equals("pager.offset")){ return super.getParameter(str); }else{ String content = super.getParameter(str); return replace(content); } } public Map< String,String> getMap() { return map; } public void setMap(Map< String,String> map) { this.map = map; } }
三、臟話列表word.txt媽的=**
老子=**
狗日的=***
我日=我*
TMD=***
我靠=我*
賤人=**
滾=*
操=*
四、web.xml中配置過濾器
<filter>
<filter-name>WordsFilter</filter-name>
<filter-class>com.filter.WordsFilter</filter-class>
<init-param>
<param-name>filePath</param-name>
<param-value>/WEB-INF/word.txt</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>WordsFilter</filter-name>
<url-pattern>/getNote.jsp</url-pattern>
</filter-mapping>
Ⅱ js 聊天框過濾臟話怎麼寫
varinput.value="大壞制蛋哦哦草";
varsensitivity="草|日";//配置臟話
varsen_arr=sensitivity.split("|");
for(vari=0;i<sen_arr.length;i++){
input.value=input.value.replace(sen_arr[i],"*");
}
Ⅲ 臟話過濾問題
自己做一個聊天程序,就可以自動過濾這些東西,但如果用別人已經做好的軟體有點難度了。我以前也編個聊天程序,而且特意把過濾臟話的功能加上。不過只是自己編著玩,沒加好的界面。
Ⅳ 求一段JS過濾臟話的代碼
把這一段代碼改掉if (document.submit_form.name.value=='啊')改成專下面的代碼屬:if (document.submit_form.name.value.indexOf("啊")>=1)
Ⅳ 如何實現字元串中臟話的過濾
不管是JSP還是Servlet,其Filter過濾器都是一個東西。因為JSP的本質就是Servlet,只不過是被包裝了一下,成了標准,讓Web伺服器都遵循這個標准來解析編譯執行而已。 以下演示的就是在JSP中如何過濾臟話(Servlet的處理方式也差不多): 一、 過濾器類 package com.filter;import java.io.BufferedReader;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Set;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletContext;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.http.HttpServletRequest;public class WordsFilter implements Filter { private Map String, String>map = new HashMap String, String>(); //過濾器的初始化 public void init(FilterConfig config) throws ServletException { String filePath = config.getInitParameter("filePath");//從配置文件中取得文件的相對路徑 ServletContext context = config.getServletContext(); String realPath = context.getRealPath(filePath);//根據相對路徑取得絕對路徑 try { FileReader freader = new FileReader(realPath);//根據絕對路徑,通過文件流來讀取文件 BufferedReader br = new BufferedReader(freader); String line = null; while((line=br.readLine()) != null) { String []str = line.split("="); map.put(str[0], str[1]); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { //亂碼處理 request.setCharacterEncoding("gb2312"); response.setContentType("text/html;charset=gb2312"); HttpServletRequest HttpReq = (HttpServletRequest) request; HttpReqWrapper hrw = new HttpReqWrapper(HttpReq); hrw.setMap(map); chain.doFilter(hrw, response); } public void destroy() { System.out.println("--過濾器的銷毀--"); } }二、請求包裝器
package com.filter;import java.util.Iterator;import java.util.Map;import java.util.Set;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletRequestWrapper;public class HttpReqWrapper extends HttpServletRequestWrapper { private Map String,String> map = null; public HttpReqWrapper(HttpServletRequest request) { super(request); } //過濾臟話 public String replace(String str){ StringBuffer sb = new StringBuffer(str); Setkeys = this.getMap().keySet(); Iteratorit = keys.iterator(); String ss = null; while(it.hasNext()) { String key = it.next(); int index = sb.indexOf(key); if(index != -1) { if(key != null) ss = key; sb.replace(index, index+key.length(), this.getMap().get(key)); } } if(ss!=null) { if (sb.toString().indexOf(ss) == -1) { return sb.toString(); } else { return replace(sb.toString()); } } return sb.toString(); }// 重寫getParameter()方法 public String getParameter(String str) { if(str.equals("pager.offset")){ return super.getParameter(str); }else{ String content = super.getParameter(str); return replace(content); } } public Map String,String> getMap() { return map; } public void setMap(Map String,String> map) { this.map = map; } }
三、臟話列表word.txt媽的=**
老子=**
狗日的=***
我日=我*
TMD=***
我靠=我*
賤人=**
滾=*
操=*
四、web.xml中配置過濾器
WordsFilter
com.filter.WordsFilter
filePath
/WEB-INF/word.txt
WordsFilter
/getNote.jsp
Ⅵ asp的臟話過濾功能怎麼用阿
假設發言的框為抄TEXT1.
<form name="form1" method="post" action="#?sub=1">
<input type="text" name="text1">
</form>
<%
if request("sub")="1" then
content=request.form("text1")
if content="臟話" then content="**"
sql="insert into table (content) values ('"&content&"')"
conn.execute sql
end if
%>
你將插入襲到數據表裡的臟話的內容已經換了**,等你顯示在網頁上時看到的就是**了.
Ⅶ 用C#在.net 留言板中加入臟話過濾功能
用strin.indexof();
例如:
string str = "我說罵人的話";
str.indexof("罵人的話");
返回所在字元的下標,如果沒找到返回-1.
if(str.indexof("罵人的話") == -1 )
{
發表留言!
}
else
{
不許罵人。。。
}
可以用這個方法過濾任何字元!也是最簡單的方法!正在表達式也能,有興趣可以去搜搜,但是比較難看懂!
那就用替換:
string str = "源字元串";
str = Regex.Replace(str, "(罵1|罵2|罵3|....)", "*", RegexOptions.IgnoreCase);
我給你寫了一遍,你看吧.界面有一個lab,一個textbox,一個按鈕
按鈕代碼如下:
private void button1_Click(object sender, EventArgs e)
{
string message = this.textBox1.Text.ToString();
message = Regex.Replace(message.Trim(),"(雞|鴨|日)", " *", RegexOptions.IgnoreCase);
this.label1.Text = message;
}
我試過了,絕度沒問題的.想過濾什麼字在那添加就哦了用"|"隔開!
Ⅷ JavaScript臟話過濾 問題出在哪裡
你這個t並未賦值啊,所以沒啥結果。
應該這樣內:容
varstrarr=[...此略...];
vararr=[...此略...];
strarr=strarr.map(function(e){
arr.forEach(function(e1){
e=e.replace(e1,"*");
});
returne;
});
console.log(strarr);
Ⅸ 臟話過濾了漢字還有什麼內容
還有我們自己的不足 如果我們都會英語 那麼研發過濾的人也會把英語的臟話過濾的!
Ⅹ 留言板過濾 臟字 問題 求 一個能用的 正則表達式匹配並替換. 如過濾 TextBox1 裡面的文本
俺通常用的是C#
TextBox1.Text = Regex.Replace(html, @"正則", "要替換的字元");
有源文本的話,我可以幫您寫正則部分,希望對您有一點點幫助。