I am using Angular for form validation.
Here is what I use - plunker-edit I have taken this code from Angularjs documentation - Binding to form and control state Hav
Angular 6
I generally don't want to allow $$$@$$$ format and always expect a TLD (like .com, .net, .org, etc).
In addition to angular email validator I add my regex pattern to make it work.
pattern="^\S*[@]\S*[.]\S*$" will make sure that there is a @ and a . followed by a string. This will be an addition to Angular's email validation.