Android

정규식 비밀번호

Machine_웅 2020. 10. 7. 10:19
728x90
반응형
    private boolean isPwitemCheck(){

        int count = 0;

        String pw = edit_pw.getText().toString();
        Log.d("kangouk", "edit_pw  " + pw);


        // 숫자 체크
        String numPattern = "^(?=.*[0-9]{1,})[A-Za-z0-9!@#$%^&*(),.?:{}|<>]*$";
        Matcher number_matcher = Pattern.compile(numPattern).matcher(pw);

        if(number_matcher.matches()){
            Log.d("kangouk : ","숫자들어 있음");
            count = count+1;
        }
        // 문자체크
        String stringPattern = "^(?=.*[A-Za-z]{1,})[A-Za-z0-9!@#$%^&*(),.?:{}|<>]*$";
        Matcher string_matcher = Pattern.compile(stringPattern).matcher(pw);

        if(string_matcher.matches()){
            Log.d("kangouk : ","문자 있음");
            count = count+1;
        }

        // 특수문자 체크
        String special = "^(?=.*[!@#$%^&*(),.?:{}|<>]{1,})[A-Za-z0-9!@#$%^&*(),.?:{}|<>]*$";
        Matcher special_matcher = Pattern.compile(special).matcher(pw);

        if(special_matcher.matches()){
            Log.d("kangouk : ","문자 있음");
            count = count+1;
        }

        Log.d("kangouk","count : "+count);

        if(count >= 2){
            return true;
        }else{
            return false;
        }
    }

영문 ( 대소 구분 x ) , 숫자, 특문중 2개 이상

 

728x90
반응형