我正在尝试使用AngularJS在注册表单中验证以下IE11invité@test.com
和üñîçøðé@example.com
等电子邮件。
此处的问题是,当前验证仅适用于以下类型的电子邮件something@somwhere
something@somewhere.com
,并且不会验证我尝试验证的ASCII字符。
当前HTML:
<input type="email" class="form-control" name="emailInput" ng-model="user.email" placeholder="Email" ng-minlength="3" ng-maxlength="255" maxlength="255" required>
我有一个REGEX,可以在REGEX测试器中验证这些电子邮件,但对于我的生活,我无法弄清楚如何让input
对其进行验证并设置一对ng-show
&#39 ; s如果有效。
$scope.emailValid = /^(([^<>()[\]\\.,;:\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,}))$/;
我的HTML
<input type="text" class="form-control" name="emailInput" ng-model="user.email" ng-patten="emailValid" placeholder="Email" ng-minlength="3" ng-maxlength="255" maxlength="255" required>
<span class="glyphicon glyphicon-remove form-control-feedback" ng-show="registrationForm.emailInput.$invalid && !registrationForm.emailInput.$pristine"></span>
<span class="glyphicon glyphicon-ok form-control-feedback" ng-show="registrationForm.emailInput.$valid && !registrationForm.emailInput.$pristine"></span>
上面的代码验证是否总共有3个字符的最小值,而且我认为不会检查我的REGEX。