https://stackoverflow.com/questions/46155/how-to-validate-an-email-address-in-javascript
angular
-----------------------
<div class="form-group">
<label>email</label>
<input type="email" [(ngModel)]="user.email"
[ngClass]="{'is-invalid':userEmail.errors && userEmail.touched}"
class="form-control"
name="email"
#userEmail="ngModel"
required
pattern="[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?">
<div [hidden]="!userEmail.errors?.required" class="invalid-feedback">
Email address required
</div>
<div
[hidden]="!userEmail.errors?.pattern"
class="invalid-feedback">
Email is not valid
</div>
</div>