[英]Angular email validation with double dots
我的電子郵件驗證有問題。 我使用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..com
不能,但是通過了驗證,但是電子郵件不正確。 我認為問題出在ng模式。
我假設您要驗證電子郵件地址。 因此,在這種情況下,您無需創建自己的正則表達式模式,因為正確的模式會非常復雜 。 您不想這樣做。
這就是為什么你有這個問題的原因,:即使“測試@ test..com” passess ngPattern驗證(但不應該,這不是有效的電子郵件地址,你的正則表達式不符合標准 ),它失敗在type =“ email”驗證(角度一)上。
Angular具有內置的電子郵件驗證正則表達式( 此處為此表達式),您只需輸入type="email"
即可使用它。 因此,要進行正確的電子郵件地址驗證,您需要做的就是刪除ngPattern:
<input class="form-control input-flat-underline" id="email" name="email"
ng-model="ctrl.user.email"
required
type="email">
您可以通過從輸入標簽中刪除ng-pattern選項來嘗試進行角度內置的電子郵件驗證。 如下所示:
<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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.