求一正则表达式,判断字符串中是否包含非法字符

condor_hero 2007-01-19 09:13:57
主要是不能包含键盘上数字上方的特殊符号和?等,由于不是从web而是从excel表中导入,所以无法使用js中的方法,望高手不吝赐教!谢谢
...全文
5670 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
JSDXT 2009-01-09
  • 打赏
  • 举报
回复
怎么样在js中使用正则,比较一个输入的参数是否符合要求
condor_hero 2007-01-19
  • 打赏
  • 举报
回复
谢谢各位
aotianji1238 2007-01-19
  • 打赏
  • 举报
回复
import java.util.regex.* ;

public class RegexTest {

public static void main(String[] args) {

String qString="sds334232ds";
String regx="!|!|@|◎|#|#|(\\$)|¥|%|%|(\\^)|……|(\\&)|※|(\\*)|×|(\\()|(|(\\))|)|_|——|(\\+)|+|(\\|)|§";
System.out.println(hasCrossScriptRisk(qString,regx));

}

/**
* 检查输入的数据中是否有特殊字符
* @param qString 要检查的数据
* @param regx 特殊字符正则表达式
* @return boolean 如果包含正则表达式<code>regx</code>中定义的特殊字符,返回true;
* 否则返回false
*/
public static boolean hasCrossScriptRisk(String qString, String regx) {
if (qString!=null) {
qString = qString.trim();
Pattern p = Pattern.compile(regx, Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher(qString);
return m.find();
}
return false;
}

}
DeRoshia 2007-01-19
  • 打赏
  • 举报
回复
[^?!@#$%\^&*()]+
以上是取反字符集,不要屏蔽的字符都加到[^ ]里即可
注: ] \ ^ - 这四个字符加时需要转义,如[^ \-\^\]\\]

import java.util.regex.*;

// 表达式对象
Pattern p = Pattern.compile("[^?!@#$%\\^&*()]+");

// 创建 Matcher 对象
Matcher m = p.matcher("your string");

// 替换
String newstring = m.replaceAll("replace to");
condor_hero 2007-01-19
  • 打赏
  • 举报
回复
可以完整一点吗?公司限制上网,只能上csdn,不得已啊
qianlei0007 2007-01-19
  • 打赏
  • 举报
回复
[a-zA-Z0-9+-*\%]

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧