NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 팁 앤 테크
  • 매뉴얼

    팁과 테크니컬 노하우를 확인하세요.

    팁 앤 테크

    팁과 테크니컬 노하우를 확인하세요.

    본 사이트의 컨텐츠는 저작권법의 보호를 받으므로 무단 복사, 게재, 배포 등을 금합니다.

    디자이너 별도의 로그인 기능을 개발할 때 이메일을 체크하는 방법.

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 이 함수는 이메일이 규칙에 맞는지 체크하는 기능을 담당합니다. 하지만, 규칙에 맞게 아무거나 입력하는 부분은 체크가 안됩니다. 대부분 입력폼을 서버에서 처리하기 전 체크할 때 사용하며, 원칙적으로는 입력한 이메일로 확인 메일을 보내야 합니다. 확인 메일에서 사용자가 승인 또는 확인을 클릭하면 자신의 서버에서 인증처리를 완료해야 합니다.

            /// <summary>
            /// 이메일 형식을 체크합니다.
            /// </summary>
            /// <param name="email">이메일 형식에 맞는지 검사할 텍스트입니다.</param>
            /// <returns>이메일 형식에 맞으면 True를 반환합니다.</returns>
            public static bool EmailCheck(string email)
            {
                _isInvalidEmail = false;
                if (String.IsNullOrEmpty(email))
                {
                    return false;
                }
    
                try
                {
                    email = Regex.Replace(email, @"(@)(.+)$", DomainMapper, RegexOptions.None, TimeSpan.FromMilliseconds(200));
                }
                catch (RegexMatchTimeoutException)
                {
                    return false;
                }
    
                if (_isInvalidEmail)
                {
                    return false;
                }
    
                try
                {
                    return Regex.IsMatch(email,
                          @"^(?("")("".+?(?<!\\)""@)|(([0-9a-z]((\.(?!\.))|[-!#\$%&'\*\+/=\?\^`\{\}\|~\w])*)(?<=[0-9a-z])@))" +
                          @"(?(\[)(\[(\d{1,3}\.){3}\d{1,3}\])|(([0-9a-z][-\w]*[0-9a-z]*\.)+[a-z0-9][\-a-z0-9]{0,22}[a-z0-9]))$",
                          RegexOptions.IgnoreCase, TimeSpan.FromMilliseconds(250));
                }
                catch (RegexMatchTimeoutException)
                {
                    return false;
                }
            }

     

     

    이 함수는 예제로만 쓸 수 있습니다. 실제 업무에 적용하려면 추가적인 장치들이 더 필요하고, 서버와 통신하기 때문에 암호화할 수 있는 방법도 고민해야 합니다.

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    댓글목록

    등록된 댓글이 없습니다.