确认正则表达式是否正确,可以使用在线的正则表达式测试工具进行检测。
对于 Angular 中的响应式表单,可以在对应的 FormControl 中使用 Validators.pattern 方法进行正则表达式验证。例如:
form = new FormGroup({
email: new FormControl('', [Validators.required, Validators.pattern('[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$')])
});
上述代码会对用户输入的邮箱地址进行格式的验证。
如果以上方法仍然不能正常工作,可以尝试使用 Angular 属性绑定的方式,将正则表达式传递给后台服务进行验证。例如:
// 在 ts 文件中定义正则表达式
readonly emailRegex = '[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$';
// 在 html 文件中绑定正则表达式的值和 ngModel
上述代码会将定义好的 emailRegex 正则表达式绑定到 input 元素的 pattern 属性中,从而进行输入格式的验证。