[JavaScript] 이메일 유효성 검사 (정규표현식)

박현아·2025년 5월 2일
0

JavaScript

목록 보기
1/4
    <script>
        let userEmail = prompt("이메일 주소는?", "");
        let emailPattern = /^[\w.-]+@[\w.-]+\.(co\.kr|com|net)$/;

        if(emailPattern.test(userEmail)) {
            document.writeln(userEmail);
        } else {
            alert("이메일 형식이 잘못됐습니다.");
            location.reload();
        }
    </script>

정규표현식 구조

  1. ^
    문자열의 시작을 의미합니다.
    이메일의 처음부터 검사하겠다는 뜻이에요.

  2. [\w.-]+
    \w → 알파벳 대소문자 + 숫자 + 밑줄 ([A-Za-z0-9_])
    . → 점 (.)
    - → 하이픈 (-)
    [] 안에 있으므로, 이 문자들 중 하나가 반복된다는 뜻
    + → 1개 이상
    ➡️ 예: user.name-123 같은 아이디 허용

  3. @
    문자 그대로 @ 기호를 의미합니다.

  4. [\w.-]+
    도메인 이름을 의미해요. 예: naver, google-mail, abc123

  5. \.
    문자 그대로 점(.)을 의미
    정규식에서 점은 아무 문자 하나를 뜻하므로, 문자 그대로 쓰려면 \. 처럼 백슬래시로 이스케이프해야 해요.

  6. (co.kr|com|net)
    도메인 확장자 검사 부분
    괄호는 그룹을 의미하며, |는 또는(or) 의미입니다. co\.kr처럼 점도 \.로 표시해야 해요.

  7. $
    문자열의 끝을 의미합니다.
    즉, .com, .net, .co.kr 뒤에는 아무 것도 오면 안 됨

0개의 댓글