728x90

출처 : http://tit99hds.egloos.com/2328190


회원 가입시, ID나 PWD, 혹은 다른 사용자가 입력한 값들에 대해 유효한 문자열인지를 체크하는 일이 발생한다.
보통 일반적으로 black-list 방식으로 처리하는 일이 많은데 이런 경우 특수 문자나 black-list에 없는 문자열이 포함될 경우 처리할 수가 없다.
즉, 정확한 유효성을 검증하기 위해 white-list로 처리해야 하는데 정규식을 이용하면 쉽게 처리할 수 있다.

/// <summary>

/// 정규식 조건에 맞는 문자열인지 체크합니다.

/// </summary>

/// <param name="type">1 : 숫자, 2 : 영문자, 3 : 한글, 4 : 숫자+영문자,
///                             5 :
숫자+영문자+한자, 6 : 숫자+영문자+한자+한글</param>

/// <param name="plainText">문자열</param>

/// <returns></returns>

public static bool IsRegexMatch(int type, string plainText)

{

           Regex rx;

 

           switch (type)

           {

                     case 1 :

                                rx = new Regex(@"^[0-9]*$", RegexOptions.None);

                                break;

                     case 2 :

                                rx = new Regex(@"^[a-zA-Z]*$", RegexOptions.None);

                                break;

                     case 3:

                                rx = new Regex(@"^[-]*$", RegexOptions.None);

                                break;

                     case 4:

                                rx = new Regex(@"^[a-zA-Z0-9]*$", RegexOptions.None);

                                break;

                     case 5:

                                rx = new Regex(@"^[a-zA-Z0-9-龥]*$", RegexOptions.None);

                                break;

                     case 6:

                                rx = new Regex(@"^[a-zA-Z0-9--龥]*$", RegexOptions.None);

                                break;

                     default :

                                return false;

           }

 

           return (string.IsNullOrEmpty(plainText)) ? false : rx.IsMatch(plainText);

}



블로그 이미지

Link2Me

,