使用 AngularJS 1.2.0 的电子邮件验证

Email Validation with AngularJS 1.2.0

我正在使用开箱即用的 Angular 进行电子邮件验证,并且工作正常。

<input class="form-control" type="email" placeholder="johndoe@example.com"
               name="email" ng-model="user.email" required/>
        <div class="error-block" ng-if="form.$submitted && form.email.$invalid">
            <div ng-if="form.email.$error.required">Enter the Email Address</div>
            <div ng-if="form.email.$error.email">Invalid email address.</div>

问题是当用户插入超过 6 个字符的域时,Angular 会抱怨。例如,如果我尝试使用电子邮件 dericlima@company.company,Angular 将电子邮件设置为无效。

但是如果我设置电子邮件 dericlima@company.compan,Angular 验证电子邮件没有问题。 我有办法将正则表达式扩展到超过 6 个字符,还是我需要使用 ng-pattern ?

谢谢大家

此行为已在 angular v1.2.10 中修复。 您可能必须更新到该版本或将 ng-patter 与来自 angular 存储库的 this 提交的正则表达式一起使用。

此外,我建议您查看此 article 关于电子邮件正则表达式检查的内容。