정규표현식을 이용한 이메일 유효성 검사 (자바스크립트)

정규표현식을 이용한 이메일 유효성 검사

Javascript 에서 정규표현식을 이용하여 E-mail 유효성을 검사합니다.

email_check라는 이름의 함수를 만들어보았습니다.

<script>
// 정규표현식을 정의합니다.
function email_check( email ) {
    
    var regex=/([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
    return (email != '' && email != 'undefined' && regex.test(email));

}
</script>

정규표현식 검사를 통과하면 true를 리턴합니다.

 

이 함수를 이용하여 간단하게 이메일 주소를 검사하여 유효성 검사 통과여부를 검사하는

자바스크립트를 작성해보았습니다.

<script>
// 검사할 E-mail 주소를 변수로 선언합니다.
var email = "jang@tjsrms.me";
if ( ! email_check(email) ) {
    console.log("not email address");
}
</script>

 

조금 더 응용하여 jquery를 이용하여

input box에서 포커스를 잃었을때 e-mail 주소 유효성 검사를 하는 코드입니다.

<script>
$(document).ready(function) {

    // name 속성이 'email'인 input 이 focus를 잃었을때 처리한다.
    $("input[name='email']").blur(function(){

        var email = $(this).val();

        // 값을 입력안한경우는 아예 체크를 하지 않는다.
        if( email == '' || email == 'undefined') return;

        // 이메일 유효성 검사
        if(! email_check(email) ) {
            alert('잘못된 형식의 이메일 주소입니다.');
            $(this).focus();
            return false;
        }
    });

});
</script>

 

활용 데모는 아래에서 확인하실수 있습니다.

 

2 thoughts on “정규표현식을 이용한 이메일 유효성 검사 (자바스크립트)”

  1. 안녕하세요
    좋은 자료 감사합니다.

    Email 주소를 체크할때
    myid@host 라고만 입력해도 통과를 해 버리는 군요.
    보통 이메일 주소는 myid@host.com 이런 식인 것 같습니다.

    도움 부탁합니다

    1. 위에 jsFiddle 데모에서 myid@host 로 체크해보면 Not Valid로 정상적으로 체크되는것으로 보입니다.
      혹시 어떤식으로 소스를 작성하셨는지 보여주시면 제가 아는 범위내에선 열심히 도와드리겠습니다

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다

This site uses Akismet to reduce spam. Learn how your comment data is processed.