java正则表达式过滤特殊字符_使用Java正则表达式过滤特殊字符

在某航空集团,系统参数必须过滤一下字符,于是正则表达式处理拦路了!

需求:

系统输入框(所有输入框),所有URL,过滤以下关键字和特殊字符(下述字符,有哪些影响到业务系统使用的,请具体列出,并说明原因)

Sql关键字(前后带空格,大小写):”and”, “exec”, “count”, “chr”, “mid”, “master”, “or”, “truncate”, “char”, “declare”, “join”

特殊符号1(前后不带空格,大小写):”insert”, “select”, “delete”, “update”,”create”,”drop”,

特殊符号2(前后不带空格):,/*,*/,’(英文半角单引号),|,; ,“&”,“$” ,“%”,“”” (英文双引号)  ,“\”,“()”, “+”,“,”(英文逗号)

特殊符号3(前后不带空格,大小写): “0x0d”(回车),“0x0a”(换行)

辛辛苦苦写个4个小时,重要搞定了这个:

public static String filterTextByHna(String text){

// 清除掉所有特殊字符

String regEx = “([<>’|;@&$%()+,\”\\\\])|(/\\*(?:.|[\\n\\r])*?\\*/)|”

+”(\\b\\s(and|exec|count|chr|mid|master|or|truncate|char|declare|join)\\s\\b)|”

+”(\\b(insert|select|delete|update|create|drop|0x0d|0x0a)\\b)”;

Pattern p = Pattern.compile(regEx);

Matcher m = p.matcher(text.toLowerCase());

return m.replaceAll(“”).trim();

}

不错,效果不错,嘎嘎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值