『壹』 jsp\java 如何编写过滤器过滤特殊字符
package com.jing.common;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class IllegalCharacterFilter implements Filter {
private String[] characterParams = null;
private boolean OK=true;
public void init(FilterConfig config) throws ServletException {
// if(config.getInitParameter("characterParams").length()<1)
// OK=false;
// else
// this.characterParams = config.getInitParameter("characterParams").split(",");
System.out.println("初始化");
}
@SuppressWarnings("unchecked")
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain arg2) throws IOException, ServletException {
HttpServletRequest servletrequest = (HttpServletRequest) request;
HttpServletResponse servletresponse = (HttpServletResponse) response;
String param = "";
String paramValue = "";
//设置请求编码格式
servletresponse.setContentType("text/html");
servletresponse.setCharacterEncoding("UTF-8");
servletrequest.setCharacterEncoding("UTF-8");
java.util.Enumeration params = request.getParameterNames();
//循环读取参数
while (params.hasMoreElements()){
param = (String) params.nextElement(); //获取请求中的参数
String[] values = servletrequest.getParameterValues(param);//获得每个参数对应的值
for (int i = 0; i < values.length; i++) {
paramValue = values[i];
//转换目标字符变成对象字符,可以多个。后期扩展特殊字符库用于管理
paramValue = paramValue.replaceAll("'","");
paramValue = paramValue.replaceAll("@","");
paramValue = paramValue.replaceAll("胡锦涛","***");
//这里还可以增加,如领导人 自动转义成****,可以从数据库中读取非法关键字。
values[i] = paramValue;
}
//把转义后的参数重新放回request中
request.setAttribute(param, paramValue);
}
//继续向下 执行请求,如果有其他过滤器则执行过滤器
arg2.doFilter(request, response);
}
public void destroy() {
// TODO Auto-generated method stub
}
}
『贰』 jsp页面,如何验证textarea里面的特殊字符,比如说引号,单引号,尖括号,等等,急急急、、、
//去掉特殊符号的方法(调用在下面)
String.prototype.TextFilter=function(){
var pattern=new RegExp("[`~%!@#^=''?~!@#¥……&——‘”“'?*()(),,。.、]"); //[]内输入你要过滤的字符,这里是我的
var rs="";
for(var i=0;i<this.length;i++){
rs+=this.substr(i,1).replace(pattern,'');
}
return rs;
}
var uname=document.getElementById("uname1").value; //通过ID取到texteara的值
var txt=uname.TextFilter(); //调用上面的去字符方法
if(txt!=uname){
alert("您输入的内容含有限定字符");
}
字符已经去了 怎么判断 要怎么调用 你自己看着办了(是在<script></script>里)
『叁』 jsp中一些特殊字符怎么处理
你事先准备好转义和反转义的工具函数,并为可能的特殊字符准备一份转义影射表,让服务器端和客户端都遵守这个约定。 要么,你把XML的内容全部用“[CDATA[……]]”方式输
『肆』 JSP如何解决特殊字符问题
不懂,从未遇到。其实在字符串里面只有
双音号,大于号,小于号等特殊
『伍』 如何阻止jsp页面对 & 等 符号转义字符
可以用jstl标签,<c:out value="expression" default="expression" escapeXml="false"/> expression是你所查询出来的那段数据。但是要求导入支持jstl的那两个jar包。
『陆』 jsp中如何过滤非法字符
可以利用javascript验证正则表达式的方式对非法字符做处理,同样Java也可以利用正则表达式帮你过滤非法字符,最终还得更具你的具体需求来定。
『柒』 jsp表单中限制输入特殊字符的语句
<inputtype="text"id="text1"/>
<textareaid="textarea1"></textarea>
<script>
document.getElementById("text1").onkeypress=function(e){
checkChar(e);
}
document.getElementById("textarea1").onkeypress=function(e){
checkChar(e);
}
functioncheckChar(e){
e=window.event||e;
varcode=e.keyCode||e.which;
varreg=/[////:/*/?"/</>/|]/;//禁止//:*?"<>|
if(reg.test(String.fromCharCode(code))){
if(window.event){
e.returnValue=false;
}else{
e.preventDefault();
}
}
}
</script>
『捌』 js 页面传参数时 参数值含特殊字符的问题
工作中遇到的小问题,一个页面中通过window.showModel("comm/morelanguage.jsp?str=zh_CN:爱#;zh_TW:爱;en:love;",,,,);弹出另一个页面并将参数传递到另一个页面,另一个页面接受得到src参数值时会出现问题,值不对,测试过是因为#特殊字符的问题,对于这些特殊字符我采取的办法是
传参数时,str=escape('str=zh_CN:爱#;zh_TW:爱;en:love;')处理
接受参数时,拿到str后str=unescape(str);
『玖』 jsp页面上,在中如何显示特殊符号
JSP页面显示特殊符号,需要注意以下问题:
页面是否使用UTF-8编码,有些符号在其他编码下显示不出来。
使用标签显示特殊符号。<fmt:formatNumber>,可以显示数字百分比货币等符号。<fmt:formatDate>对于日期字符串显示,例如<fmt:formatDate value="${xx.createDate}" pattern="yyyy-MM-dd HH:mm:ss"/>。
有些特殊符号可使用相应编码代替,例如<=<。
『拾』 jsp\java如何编写过滤器过滤特殊字符
正则表达式来校验:过滤器就网络一大堆,怎么写正则表达式,也可以网络,不知你说的特殊字符是什么字符,所以只能给方法