Programming > Java

정규표현식 - Regex 패스워드 패턴 검증

패스워드에 사용하는 검증 패터 넣기

public static void main(String[] args) {

       String pass = "3a*1234@s";


       if (!pass.matches("^[a-zA-Z].*")) {
             System.out.println("영문자로 시작하세요");
       }
      
       if (!pass.matches(".*[\\~\\!\\*\\(\\)@#$%^&+=].*")) {
             System.out.println("특수문자를 하나 이상 포함하세요");
       }
      
       if (!pass.matches(".{9,}")) {
             System.out.println("9자 이상 넣어주세요");
       }     
      
       if (pass.matches(".*[\\s+].*")) {
             System.out.println("공백이 포함되어 있어요");
       }
      
       if(!pass.matches(".*[A-Z].*")) {
             System.out.println("대문자를 하나 이상 포함하세요");
       }
      
       if(!pass.matches(".*[a-z].*")) {
             System.out.println("소문자를 하나 이상 포함하세요");
       }
      
       if(!pass.matches(".*\\d.*")) {
             System.out.println("숫자를 하나 이상 포함하세요");
       }
      
      
       // 숫자,영대소문, 특수문자[~!@#$%^&*()+=] 만 포함하고 9자 이상이면 오케이
       System.out.println("-----------------------------------");
       if(pass.matches("^[0-9a-zA-Z\\~\\!\\*\\(\\)@#$%^&+=]{9,}$")) {
             System.out.println("success");
       } else {
             System.out.println("failed!!!");
       }

}