簡體   English   中英

帶雙點的角度電子郵件驗證

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM