let ValidateEmailAddress = (email) => {
var countAt = 0;
for (let i = 0; i < email.length; i++) {
if (email[i] == '@')
countAt++;
if (!CheckAllowedString(email[i])) {
return false;
}
}
if (countAt > 1 || countAt == 0 ||
IsAllowedCharacter(email.charAt(0)) == false)
return false
var emailParts = email.split('@');
if (emailParts[0].length < 1 || emailParts[1] < 4 ||
emailParts[1].lastIndexOf(".") == -1) {
return false
}
var length = emailParts[1].length;
var lastIndex = emailParts[1].lastIndexOf(".");
if (length - lastIndex <= 2) return false;
//check for -,.,_ double accurance
for (let i = 0; i < email.length; i++) {
if (!IsAllowedCharacter(email[i]) && !IsAllowedCharacter(email[i
+ 1])) return false;
}
for (let i = lastIndex + 1; i < length; i++) {
if (!IsCharacterString(emailParts[1][i])) return false;
}
return true
}
let IsAllowedCharacter = (val) => {
if (typeof val === 'undefined') return true;
if (isCharacterNumeric(val) || IsCharacterString(val)) return true;
return false
}
let isCharacterNumeric = (character) => {
return $.isNumeric(character);
}
let IsCharacterString = (character) => {
var characterArray = ["a", "b", "c", "d", "e", "f", "g", "h", "i",
"j", "k", "l", "m",
"n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"];
if (characterArray.indexOf(character.toLowerCase()) != -1) return
true;
return false
}
let CheckAllowedString = (chr) => {
if (chr == '@') {
return true
} else if (chr == '-') {
return true
} else if (chr == '.') {
return true
} else if (chr == '_') {
return true
} else if (IsAllowedCharacter(chr)) {
return true
} else {
return false
}
}