Angular通过正则表达式来验证输入的电子邮件地址是否有效。以下是使用Angular内置的电子邮件验证器验证电子邮件地址的代码:
HTML文件:
组件文件:
import { Component } from '@angular/core';
@Component({ selector: 'app-my-component', templateUrl: './my-component.component.html', styleUrls: ['./my-component.component.css'] }) export class MyComponentComponent { email: string; }
在上面的代码中,我们使用了input类型为email的表单元素,并通过ngModel将输入的值绑定到了组件中的email变量上。
Angular使用的验证器正则表达式在@angular/forms库中定义。您可以在该库的源代码中找到以下正则表达式:
export const EMAIL_REGEXP = /* tslint:disable-next-line:max-line-length / /^(([^<>()[]\.,;:\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,}))$/;
该正则表达式用来验证输入的电子邮件地址是否有效。如果电子邮件地址不符合此正则表达式,则Angular会在表单提交时抛出验证错误。
因此,Angular内置的电子邮件验证器使用的正则表达式为:
/^(([^<>()[]\.,;:\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,}))$/;