이메일 주소의 형식을 체크하는데는 역시 정규표현식(Regular Expression)으로 체크하는 방법이 제일 좋은 것 같다.
아래 소스도 마찬가지로 정규표현식을 사용하여 이메일 주소를 체크한다.
function checkEmailFormat(email)
{
email.value.replace(" ", "");
email.value = trim(email.value);
if (email.value == "")
{
alert("이메일을 입력해주세요.");
return false;
}
else if(email.value != "")
{
reg = new RegExp("^[\\w\\-]+(\\.[\\w\\-_]+)*@[\\w\\-]+(\\.[\\w\\-]+)*(\\.[a-zA-Z]{2,3})$", "gi");
if (!reg.test(email.value))
{
alert("잘못된 이메일형식입니다.");
return false;
}
}
return true;
}
위 스크립트를 사용하려면 폼의 onsubmit 구문에서 한번에 처리할때 실행시키거나,
이메일에 해당하는 필드의 onunfocus이벤트에서 받아서 처리를 해주면 될 것이고, 해당 인자로는 this를 넘겨주면 될 것이다.
대신 .info같은 4자리의 도메인 주소는 체크에서 제외된다. 숫자를 조금 바꿔주면 해결될 것이다.