限制java编程中的特殊字符和数字

时间:2016-01-13 11:05:35

标签: java

我想接受所有语言字符,但我不想接受特殊字符和数字。我创建了db,它接受所有语言字体。为此,我使用下面的代码...

public static Boolean validateName(String name,CodeDescription codeDescription,BaseResponseDto baseDto) {
      Boolean flag = false;

     String expression= "([a-zA-Z0-9]+)|(['()+,\\-.=]+)";
      if(!name.matches(expression)){
          baseDto.code = codeDescription.code;
          baseDto.description = codeDescription.description;
          baseDto.status=false;
          flag=true;
      }
      return flag;
   }

2 个答案:

答案 0 :(得分:0)

public static Boolean validateName(String name,CodeDescription codeDescription,BaseResponseDto baseDto) {
  Boolean flag = false;

 String expression= "([a-zA-Z0-9]+)|(['()+,\\-.=]+)";
  if(!name.contains(expression)){
      baseDto.code = codeDescription.code;
      baseDto.description = codeDescription.description;
      baseDto.status=false;
      flag=true;
  }
  return flag;

}

试试这个!它应该工作

答案 1 :(得分:0)

从我看到的问题不是表达而是if

if(!name.matches(expression)){ ... }

检查名称是否无效,但是您返回true,这会导致其有效。如果你使用

if(name.matches(expression)){ ... }

它应该有用。