2015-08-31 56 views
0

我使用bootstrap validator但電子郵件字段接受「test @ test」。你可以試試我的鏈接。我該如何解決這個問題?通過模式屬性,我可以編寫一個正則表達式,但我不知道這是否正確。Bootstrap驗證器電子郵件正則表達式

我已經嘗試此正則表達式,但所有的電子郵件是不正確的:

<?php 
    echo $this->tag->emailField(
     array(
      "email", 
      "class" => "form-control", 
      "data-error" => "incorrect address", 
      "pattern" => '/^(([^<>()[\]\.,;:\[email protected]\"]+(\.[^<>()[\]\.,;:\[email protected]\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\[email protected]\"]+\.)+[^<>()[\]\.,;:\[email protected]\"]{2,})$/i', 
      "required" => "required" 
     ) 
    ); 
?> 

回答

2

你爲什麼不乾脆input標籤的type屬性設置爲email,讓HTML5做驗證你。

您還可以添加pattern屬性來指定正則表達式。您可以從下面的鏈接得到一個非常流行的正則表達式:

Validate email address in JavaScript?

pattern="^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$" 
+1

我使用它,但我想引導CSS動態與領域 – John

+0

我修改我的問題,紅/綠顏色。 – John

+0

問題是HTML5驗證。 http://www.the-art-of-web.com/html/html5-form-validation/有相同的錯誤。 – John

1

好吧,我解決我的問題與此正則表達式。

pattern="[a-z0-9._%+-][email protected][a-z0-9.-]+\.[a-z]{2,3}$" 
+0

這個正則表達式會將大量有效的電子郵件視爲無效 –

+0

哦,我看到:/。我正在嘗試使用有效的電子郵件地址INT維基百科,它不工作https://en.wikipedia.org/wiki/Email_address – John

+0

和這[^ @] + @ [^ @] + \。[a-zA- Z] {2,6}? – John

相關問題