角度模式验证器未按预期工作

时间:2018-11-24 19:47:58

标签: regex angular typescript

要仅允许使用TLD(以.de或.com结尾)的电子邮件,我想使用以下模式:

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

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

但是Angular Validator表示使用这种模式Validator的test @ test没有错误:

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

那怎么可能?

1 个答案:

答案 0 :(得分:3)

因为它是一个字符串,所以您必须转义反斜杠。

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