Angular模式验证器未按预期工作

3
为了仅允许以TLD(以.de或.com结尾的电子邮件),我想使用以下模式:
^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-zA-Z]{2,4}$

我在regexr.com上测试了这个正则表达式几次,它的效果很好,例如它不会与test@test匹配。

但是,Angular验证器对于使用此模式验证器的test@test没有发现错误。

Validators.pattern('^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-zA-Z]{2,4}$')

这怎么可能呢?


尝试使用 Validators.pattern(/^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-zA-Z]{2,4}$/) - Enes Yalçın
1个回答

4

由于反斜杠是一个字符串,所以必须对其进行转义。

'^[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-zA-Z]{2,4}$'

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接