2007년 8월 4일 토요일

JavaScript 로 Email 정합성 Validation 하는 예제


/********** USAGE
script language="JavaScript" src="form-check-email.js" /script

function checkForm()
{

if ( document.frmRequest.mailaddr.value == "" )
{
alert( 'Empty Email : e-mail주소가 비어 있습니다' );
document.frmRequest.mailaddr.focus();
return false;
}

if ( isValidEmail( document.frmRequest.mailaddr.value ) == false )
{
alert( 'Wrong Email Syntax : e-mail주소가 올바르지 않습니다' );
document.frmRequest.mailaddr.focus();
return false;
}


document.frmRequest.submit();

}
**************/

function isValidEmail( strEmail )
{
var str = strEmail;

var at="@"
var dot="."
var lat=str.indexOf(at)
var lstr=str.length
var ldot=str.indexOf(dot)


if (str.indexOf(at)==-1){
// alert("Invalid E-mail ID")
return false
}

if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
// alert("Invalid E-mail ID")
return false
}

if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
// alert("Invalid E-mail ID")
return false
}

if (str.indexOf(at,(lat+1))!=-1){
// alert("Invalid E-mail ID")
return false
}

if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
// alert("Invalid E-mail ID")
return false
}

if (str.indexOf(dot,(lat+2))==-1){
// alert("Invalid E-mail ID")
return false
}

if (str.indexOf(" ")!=-1){
// alert("Invalid E-mail ID")
return false
}

var iChars = "*|,\":<>[]{}`\';()&$#%";

for (var i = 0; i < str.length; i++) {
if (iChars.indexOf(str.charAt(i)) != -1)
return false;
}

return true
}