본문 바로가기
소소한 C# 지식

[C#] C#에서 비밀번호 검증(Password Validation)

by 해뤼맘 2022. 5. 10.
728x90
반응형

안녕하세요

C#에서 비밀번호 검증 유효청 체크 코드를 포스팅하겠습니다.

 

1. 최소 1개 이상 숫자 포함

  • var Number = new Regex(@"[0-9]+");

2. 최소 1개 이상 영어 대문자 포함

  • var UpperCaseChar = new Regex(@"[A-Z]+");

3. 최소 1개 이상 영어 소문자 포함

  • var LowerCaseChar = new Regex(@"[a-z]+");

4. 비밀번호 길이 체크(최소 8자리에서 12자리)

  • var MinMaxChars = new Regex(@"^.{8,12}$");

5. 특수문자 포함 여부 체크

  • var SpecialChar = new Regex(@"[!@#$%^&*()_+=;:<>?-]");
 //using System.Text.RegularExpressions;
 public string ValidationPassword(string PassWordInput)
        {
            var Number = new Regex(@"[0-9]+");
            var UpperCaseChar = new Regex(@"[A-Z]+");
            var LowerCaseChar = new Regex(@"[a-z]+");
            var MinMaxChars = new Regex(@"^.{8,12}$");
            var SpecialChar = new Regex(@"[!@#$%^&*()_+=;:<>?-]");

            if (!Number.IsMatch(PassWordInput))
            {
                return "비밀번호에는 최소 1개 이상 숫자가 포함되어야 합니다.";
            }
            if (!UpperCaseChar.IsMatch(PassWordInput))
            {
                return "비밀번호에는 최소 1개 이상 영어 대문자가 포함되어야 합니다.";
            }
            if (!LowerCaseChar.IsMatch(PassWordInput))
            {
                return @"비밀번호에는 최소 1개 이상 영어 소문자가 포함되어야 합니다.";
            }

            if (!MinMaxChars.IsMatch(PassWordInput))
            {
                return "비밀번호 길이는 최소 8자리에서 12자리여야 합니다.";
            }
            
              if (!SpecialChar.IsMatch(PassWordInput))
            {
                return "비밀번호에는 특수문자가 포함 되어야 합니다.";
            }

            return null;
        }

Regex.IsMatch - Regex 생성자에 지정된 정규식이 지정된 입력 문자열에서 일치하는 항목을 찾을 것인지 여부를 나타냅니다.

 

해당 코드를 활용하여 비밀번호 생성 유효성 검증 시 사용할 수 있습니다.

 

728x90
반응형

댓글