2015-08-31 3 views
0

Я использую bootstrap validator, но поле электронной почты принимает «test @ test». Вы можете попробовать его по моей ссылке. Как я могу это исправить? С атрибутом pattern я могу написать регулярное выражение, но я этого не знаю.Bootstrap validator email regex

Я уже попробовать это регулярное выражение, но все письма неверны:

<?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

Почему вы не просто установить type свойство input тега 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

Ok я решил мою проблему с этим регулярным выражением.

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

это регулярное выражение будет считать большое количество действительных сообщений недействительными –

+0

О, я вижу: /. Я пытаюсь с действительными адресами электронной почты int wikipedia, и он не работает https://en.wikipedia.org/wiki/Email_address – John

+0

и этот [^ @] + @ [^ @] + \. [A-zA- Z] {2,6}? – John