Angular2电子邮件验证模式无效

时间:2017-08-21 05:18:58

标签: angular

形式:

    <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电子邮件验证答案中使用了这种模式。

2 个答案:

答案 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"