^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
^: Start of the string.[a-zA-Z0-9._%+-]+: Match one or more alphanumeric characters, dots, underscores, percent signs, plus signs, or hyphens.@: Match the at symbol (@).[a-zA-Z0-9.-]+: Match one or more alphanumeric characters, dots, or hyphens.\.: Match a dot.[a-zA-Z]{2,}: Match two or more alphabetical characters.$: End of the string.
Or use this one if you need to cover emails like these: name@site.com and name@subdomain.site.com.
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}(\.[a-zA-Z]{2,})?$
Angular Email REGEXP
const EMAIL_REGEXP = /^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;