我在电子邮件验证方面有问题。我使用Angular.js。在我的形式中,我有一个输入:
<input class="form-control input-flat-underline"
ng-pattern="/^[\w\.-]+@[\w\.-]+\.[\w]+$/"
id="email" name="email" ng-model="ctrl.user.email" required type="email">
电子邮件
test@test..com
不确定,但验证通过,但电子邮件是不正确的。我觉得问题出在模式上。
发布于 2016-05-24 00:16:03
我想你想要验证电子邮件地址。因此,在这种情况下,您不需要创建自己的正则表达式模式,因为合适的模式将是相当复杂。你不会想这么做的。
这就是为什么出现这个问题的原因:即使"test@test..com“通过ngPattern验证(但它不应该,这是无效的电子邮件地址,您的正则表达式是不符合标准),它在type=" email”验证(角验证)上失败。
有内置的电子邮件验证正则表达式(这一个这里),您可以简单地使用输入type="email"
。因此,在您的情况下,要进行正确的电子邮件地址验证,只需删除ngPattern:
<input class="form-control input-flat-underline" id="email" name="email"
ng-model="ctrl.user.email"
required
type="email">
发布于 2016-05-24 00:34:15
您可以通过从输入标签中删除ng模式选项来尝试角度内建的电子邮件验证。如下所示:
<input type="email" name="input" ng-model="email.text" required>
否则,您可以尝试使用以下方法进行验证:
<input type="email" name="input" ng-model="email.text" ng-pattern="/^[^\s@]+@[^\s@]+\.[^\s@]{2,}$/" required>
https://stackoverflow.com/questions/37407676
复制