在 react 形式上使用正则表达式进行 Angular 7 电子邮件验证

标签 angular regex forms validation

在 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,}))$

如下图——
createGroupForm() {
    this.childGroupForm = new FormGroup({
        'groupName': new FormControl(null, Validators.compose([
            Validators.required
        ])),
        'groupEmail': new FormControl(null, Validators.compose([
            Validators.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,}))$')
        ]))
    });
}

但看起来它不起作用。它总是显示“电子邮件无效。”,即使它是有效的。

最佳答案

我在这里做了一个例子:https://stackblitz.com/edit/angular-pgc7st

所以在验证器中它应该是这样的:

Validators.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,}))$/)

如果您在代码中看到您正在输入一个字符串作为 reexp。所以删除字符串字符('')它的工作原理。检查示例。

关于在 react 形式上使用正则表达式进行 Angular 7 电子邮件验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57800836/

相关文章:

javascript - SystemJS 对不存在的文件发出约 200 个请求

angular - 单元测试 Angular HttpInterceptor 重试

JavaScript 正则表达式格式化为多行

regex - 模式的正则表达式?

javascript - 在 jQuery.extend() 中使用 $(this)

javascript - Angular2折叠另一个组件的<div>

express - webpack 无法导入图像(在 typescript 中使用 express 和 angular2)

python - 使用 python 正则表达式从 Craigslist rss 提要中提取地址

javascript - getElementsByClassName 更改输入值

php - PHP/MySQL 中的间歇性 "No Database Selected"?