Skip to content

Instantly share code, notes, and snippets.

@lndgalante
Created February 28, 2024 18:36
Show Gist options
  • Select an option

  • Save lndgalante/73f3f5d6dd2effa64fc247e8c4b58551 to your computer and use it in GitHub Desktop.

Select an option

Save lndgalante/73f3f5d6dd2effa64fc247e8c4b58551 to your computer and use it in GitHub Desktop.
Check if an email is valid or not
function getIsEmailValid(email: string): boolean {
if (!email.includes('@') || !email.includes('.')) {
return false;
}
const parts = email.split('@');
const hasMoreThanOneAtSymbol = parts.length !== 2;
if (hasMoreThanOneAtSymbol) {
return false;
}
const [local, domain] = parts;
const isLocalIncorrect = local.length === 0;
if (isLocalIncorrect) {
return false;
}
const isDomainIncorrect = !domain.includes('.') || domain.startsWith('.') || domain.endsWith('.');
if (isDomainIncorrect) {
return false;
}
return true;
}
console.log(getIsEmailValid('test@example.com'));
console.log(getIsEmailValid('test@example'));
console.log(getIsEmailValid('test@.com'));
console.log(getIsEmailValid('@example.com'));
console.log(getIsEmailValid('test@@example.com'));
console.log(getIsEmailValid('test@example.com.'));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment