我的电子邮件验证有问题。我使用 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
不正常但验证通过,但电子邮件不正确。我认为问题出在 ng 模式中。
最佳答案
我假设您要验证电子邮件地址。所以在这种情况下,您不需要创建自己的正则表达式模式,因为正确的模式应该是 quite complex。 .你不想这样做。
这就是您遇到此问题的原因:即使“test@test..com”通过了 ngPattern 验证(但它应该不,这是无效 电子邮件地址,并且您的正则表达式是 not standard compliant ),它在 type="email"验证(Angular one)上失败。
Angular 具有内置的电子邮件验证正则表达式(这个 here ),您只需使用输入 type="email"
即可使用它。因此,在您的情况下,要进行正确的电子邮件地址验证,您需要做的就是删除 ngPattern:
<input class="form-control input-flat-underline" id="email" name="email"
ng-model="ctrl.user.email"
required
type="email">
关于javascript - 带双点的 Angular 电子邮件验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37407676/