﻿
//http://www.web-wise-wizard.com/javascript-tutorials/javascript-validate-email-address.html
//
//      IsCorrectEmail('sa@test.com');
//
//      return TRUE if correct
//
//      return FALSE   if wrong
//
//      sa11Feb2009
//

function IsCorrectEmailID(emailID) {
    if (EmailID_stringEmpty(emailID) ||
        EmailID_noAtSign(emailID) ||
        EmailID_nothingBeforeAt(emailID) ||
        EmailID_noLeftBracket(emailID) ||
        EmailID_noRightBracket(emailID) ||
        EmailID_noValidPeriod(emailID) ||
        EmailID_noValidSuffix(emailID)) {
        return false;
    }
    else {
        return true;
    }
}


function EmailID_stringEmpty(formField) {
    // CHECK THAT THE STRING IS NOT EMPTY
    if (formField.length < 1) {
        return (true);
    } else {
        return (false);
    }
}

function EmailID_noAtSign(formField) {
    // CHECK THAT THERE IS AN '@' CHARACTER IN THE STRING
    if (formField.indexOf('@', 0) == -1) {
        return (true)
    } else {
        return (false);
    }
}

function EmailID_nothingBeforeAt(formField) {
    // CHECK THERE IS AT LEAST ONE CHARACTER BEFORE THE '@' CHARACTER
    if (formField.indexOf('@', 0) < 1) {
        return (true)
    } else {
        return (false);
    }
}

function EmailID_noLeftBracket(formField) {
    // IF EMAIL ADDRESS IN FORM 'user@[255,255,255,0]', THEN CHECK FOR LEFT BRACKET
    if (formField.indexOf('[', 0) == -1 && formField.charAt(formField.length - 1) == ']') {
        return (true)
    } else {
        return (false);
    }
}

function EmailID_noRightBracket(formField) {
    // IF EMAIL ADDRESS IN FORM 'user@[255,255,255,0]', THEN CHECK FOR RIGHT BRACKET
    if (formField.indexOf('[', 0) > -1 && formField.charAt(formField.length - 1) != ']') {
        return (true);
    } else {
        return (false);
    }
}

function EmailID_noValidPeriod(formField) {
    // IF EMAIL ADDRESS IN FORM 'user@[255,255,255,0]', THEN WE ARE NOT INTERESTED
    if (formField.indexOf('@', 0) > 1 && formField.charAt(formField.length - 1) == ']')
        return (false);

    // CHECK THAT THERE IS AT LEAST ONE PERIOD IN THE STRING
    if (formField.indexOf('.', 0) == -1)
        return (true);

    return (false);
}

function EmailID_noValidSuffix(formField) {
    // IF EMAIL ADDRESS IN FORM 'user@[255,255,255,0]', THEN WE ARE NOT INTERESTED
    if (formField.indexOf('@', 0) > 1 && formField.charAt(formField.length - 1) == ']') {
        return (false);
    }

    // CHECK THAT THERE IS A TWO OR THREE CHARACTER SUFFIX AFTER THE LAST PERIOD
    var len = formField.length;
    var pos = formField.lastIndexOf('.', len - 1) + 1;
    if ((len - pos) < 2 || (len - pos) > 4) {
        return (true);
    } else {
        return (false);
    }
}