2016-01-13 48 views
2

我想接受所有語言字符,但我不想接受特殊字符和數字。我已經創建了接受所有語言字體的數據庫。爲此我使用下面的代碼...在java編程中限制特殊字符和數字

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; 
    } 
+0

ji當我給timil字體名稱它不採取。不僅任何語言字體不接受英語。但是我必須限制只有特殊字符和數字,所有的語言字體都應該是可以接受的 –

回答

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; 

}

試試這個!它應該工作

0

從我看到的問題不是表達而是if

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

檢查名稱是否有效,但是您返回true,這會導致它有效。如果您使用

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

它應該工作。