关于正则表达式:如何使用ng-pattern在angularJs中验证电子邮件ID

How to validate email id in angularJs using ng-pattern

我正在尝试使用ng-pattern指令验证angularJs中的Email id字段。

但是对AngularJs来说是新手。 用户输入错误的电子邮件ID后,我需要立即显示错误消息。

我下面的代码正在尝试解决。 帮助我使用ng-pattern获得正确的结果。


如果要验证电子邮件,请使用type =" email"而不是type =" text"的输入。 AngularJS具有开箱即用的电子邮件验证功能,因此无需使用ng-pattern。

这是原始文档中的示例:

有关更多详细信息,请阅读以下文档:https://docs.angularjs.org/api/ng/input/input%5Bemail%5D

实时示例:http://plnkr.co/edit/T2X02OhKSLBHskdS2uIM?p=info

UPD:

如果您对内置的电子邮件验证程序不满意,并且想要使用自定义RegExp模式验证,则可以应用ng-pattern指令,并且根据文档,错误消息可以显示如下:

The validator sets the pattern error key if the ngModel.$viewValue
does not match a RegExp

Plunker:https://plnkr.co/edit/e4imaxX6rTF6jfWbp7mQ?p = preview


有一个很好的示例,介绍了如何处理此类内置验证器angulardocs的问题。我只添加了更严格的验证模式。

只需添加


根据@scx的答案,我为GUI创建了一个验证

只需添加:

的CSS

html


这是使用正则表达式的jQuery电子邮件验证。如果您对AngularJS有想法,也可以对AngularJS使用相同的概念。

资源。


以下是电子邮件验证的完全限定模式。


您可以使用ng-messages

包括模块

在HTML


现在,Angular 4内置了电子邮件验证程序
https://github.com/angular/angular/blob/master/CHANGELOG.md#features-6
https://github.com/angular/angular/pull/13709

只需将电子邮件添加到标签即可。例如


在正则表达式下使用

它允许


花一些时间让它对我有用。

需求:

域名以[email protected][email protected]结尾的单个或逗号分隔的电子邮件列表

控制器:

HTML:

我找到了很好的在线正则表达式测试工具。
用测试覆盖了我的正则表达式:

https://regex101.com/r/Dg2iAZ/6/tests


我已经尝试过下面的正则表达式,它工作正常。

电子邮件验证: w +([-+。'] w +)@ w +([-。] w +)。 w +([-。] w +)*


我尝试了@Joanna的方法,并在以下网站上进行了测试,但无法正常工作。

  • https://regex101.com/
  • https://www.regextester.com/
  • https://regexr.com/
  • 然后,我将其修改为并成功运行。


    angularjs控制器方式,这只是在消息正文中查找一个或多个电子邮件的示例。