形式:
<div class="group">
<label for="email" class="label">Email Address</label>
<input id="email" type="text" class="input" name="email" pattern="/^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/" [(ngModel)]="user.email"
#email="ngModel" required>
<div *ngIf="email.errors && (email.dirty || email.touched)" class="alert alert-danger">
<div [hidden]="!email.errors.required">
email invalid
</div>
</div>
</div>
我尝试使用正则表达式模式,但它不是woking,它没有显示任何错误,并且创建的用户没有有效的电子邮件地址。我从stackoverflow的其他angular2电子邮件验证答案中使用了这种模式。
答案 0 :(得分:0)
试试这个......
if(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(this.email)){
console.log('valid email');
}else{
console.log('invalid email');
}
答案 1 :(得分:0)
<input id="email" type="text" class="input" name="email" pattern="/^(([^<>()\[\]\\.,;:\s@']+(\.[^<>()\[\]\\.,;:\s@']+)*)|('.+'))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/" [(ngModel)]="user.email"