2017-03-16 22 views
0

我注意到這是屁股疼痛。 type =「email」的HTML5驗證器似乎不適用於Ionic(View)。我嘗試了所有可能的方式,但它不起作用。如何使用HTML5,JS或Angular工作來驗證Ionic中的電子郵件?

我使用:

  • 離子(查看)

  • HTML5

這是我的HTML現在:

<input class="testinput" type="email" name="email" ng-model="userRegistration.email" type="text" pattern="/^[_a-z0-9]+(\.[_a-z0-9]+)*@[a-z0-9-]*\.([a-z]{2,4})$/" required> 

也嘗試過這與type="text",但也無法正常工作。我可以在我使用電子郵件時驗證表單,例如:「blablabla」其中我沒有使用@符號,當然這是錯誤的。

我也試過的是:[a-z0-9._%+-][email protected][a-z0-9.-]+\.[a-z]{2,63}$ng-pattern,但是我沒有收到錯誤,我可以在隨機文本中註冊,而不會被驗證器阻止。

所以我的問題是:我該如何解決這個問題?解決這個問題的最好方法是什麼?

我檢查:

回答

7

我自己修復了它。所有其他可能的解決方案都不適合我。這個工程,雖然:

<input type="email" name="email" ng-model="someModelIamUsing" pattern="[A-Za-z0-9._%+-]{3,}@[a-zA-Z]{3,}([.]{1}[a-zA-Z]{2,}|[.]{1}[a-zA-Z]{2,}[.]{1}[a-zA-Z]{2,})"> 

也許別人也可以從中受益,這就是爲什麼我在這裏添加它。

+1

對我來說工作很好。謝謝 – Anuj

+0

玩得真好!爲我工作。 Muchas gracias! – RushVan

3

這是我使用的是什麼,它的工作好爲止。

var re = /^(([^<>()[\]\\.,;:\[email protected]\"]+(\.[^<>()[\]\\.,;:\[email protected]\"]+)*)|(\".+\"))@((\[[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,}))$/; 
if(!re.test(userEmailAddressFromInput)) { 
    // Invalid Email 
} 

此檢查使用正則表達式模式和測試方法的電子郵件變量。
有關測試方法的更多信息,please see this.

+0

你能否提供更多信息?它有什麼作用?如何結合JS/Angular/Ionic/HTML使用它?這太簡單了。 – Siyah

+0

對不起,我忘了提及,所以它只是一個簡單的JavaScript。你不會太擔心與Angular和Ionic混合。試試吧。 – Hoon

+0

是的,但什麼是重新?我如何在HTML中設置它? – Siyah

0

該模式應該包含連字符( - ),並且域名可能只有2個字母位於國家代碼(ge.com)之前 此外,可能有許多子域(department.product.company.country)

所以我用下面簡單的模式:

pattern="[A-Za-z0-9._%+-]{2,}@[a-zA-Z-_.]{2,}[.]{1}[a-zA-Z]{2,}" 
相關問題