禁止  : % ’" 这四种符号
字段中间不准有的字符 “{ }回车 三种符号
第一个字符不允许 回车 ,. - /  五种符号第一种情况:禁止输入4中半角字符,遇到该类字符输入,转换为全角字符显示发送(这里可以用替换的方法)。
第二种情况:不允许输入三种符号。
第三种情况:开头第一个字符不允许5种符号,遇到即判断输入非法字符,请重新输入。
看大家还有更好的方法吗  我项目需要这样的判断,第一肯定是准确性,二是效率
谢谢大家看能否还能优化。一下是我的代码:
有个小小的建议:判断用正则表达式也可以,前提是要考虑效率哦
package test;public class CharTest { public static void main(String[] args) { String oldStr = "1231}12312";
char [] charStr = oldStr.toCharArray();
for(int i=0;i<charStr.length;i++){
String c = String.valueOf(charStr[i]);
if(":".equals(c)){
charStr[i]=':';
}else if("%".equals(c)){
charStr[i]='%';
}else if("'".equals(c)){
charStr[i]=''';
}else if("\"".equals(c)){
charStr[i]='"';
}
if(c.indexOf("{")!=-1||c.indexOf("}")!=-1||c.indexOf("\n")!=-1){
System.out.println("输入非法字符,请重新输入");
}
}
String cStr = String.valueOf(charStr);
String newStr = cStr.substring(0,1); 
if(",".equals(newStr)||".".equals(newStr)||"-" .equals(newStr)||"/".equals(newStr)){
System.out.println("输入非法字符,请重新输入");
}
System.out.println(String.valueOf(charStr));
}
}