Перейти к содержимому

Фотография

Проверка поля ввода email.


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 6

#1 piersto

piersto

    Новый участник

  • Members
  • Pip
  • 7 сообщений
  • ФИО:Pierre Stoiko

Отправлено 23 августа 2011 - 10:17

Какие проверки поля ввода email надо сделать (email text box)?
Спасибо.
  • 0

#2 Freiman

Freiman

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 591 сообщений
  • ФИО:Андрей Адеркин
  • Город:Йошкар-Ола

Отправлено 23 августа 2011 - 11:17

валидация email http://software-test...um/topic/18560/
  • 0

#3 Romantik

Romantik

    Новый участник

  • Members
  • Pip
  • 19 сообщений
  • Город:Одесса

Отправлено 23 августа 2011 - 13:09

Взято из en.wikipedia.org

Часть адреса до символа @ (логин) может включать любые из этих символов:
  • Английские буквы верхнего и нижнего регистра (a–z, A–Z)
  • Цифры от 0 до 9
  • Символы ! # $ % & ' * + - / = ? ^ _ ` { | } ~
  • Символ . (точка) при условии, что он не первый и не последний, а также, если он не повторяется больше одного раза подряд (например, John..Doe@example.com)
Общая длина логина может быть вплоть до 64 символов.

Часть адреса после символа @ (домен) может включать любые из этих символов:
  • Английские буквы нижнего регистра (a–z)
  • Цифры от 0 до 9
  • Символ - (тире)
  • Символ . (точка)
Части домена, разделенные точкой не должны начинаться с цифры или тире и не должны заканчиватся тире, а также они должны иметь длину от 1 до 63 символов. Общая длина домена должна иметь максимум 253 символа. Доменная часть может быть IP-адресом, заключенным в квадратные скобки (например, jsmith@[192.168.2.1]).
  • 3

#4 Romantik

Romantik

    Новый участник

  • Members
  • Pip
  • 19 сообщений
  • Город:Одесса

Отправлено 24 августа 2011 - 12:18

Только я вот не пойму, почему на всех емейл сервисах, которые я нашел, нет подчинения этим стандартам. По-че-му? Может плохо искал? Могу предположить, что уменьшение количества символов в логине сделано для оптимизации размеров баз данных. А символы причем? Может следует изменить эти стандарты? Как же тогда производить тестирование или даже как кодировать? Выбрать самый требовательный к адресам сервис и по нему ориентироваться? И я так понимаю, что если какая-то форма не пропускает некоторые валидные емейлы из-за недопустимости адреса, то это не баг?
  • 0

#5 OldGrymza

OldGrymza

    Новый участник

  • Members
  • Pip
  • 3 сообщений
  • Город:Odessa

Отправлено 29 августа 2011 - 09:43

Хорошая статья на эту тему: I Knew How To Validate An Email Address Until I Read The RFC
  • 0

#6 LeshaL

LeshaL

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 094 сообщений
  • ФИО:Алексей Лянгузов
  • Город:Saint-Petersburg


Отправлено 30 августа 2011 - 20:43

Только я вот не пойму, почему на всех емейл сервисах, которые я нашел, нет подчинения этим стандартам. По-че-му? Может плохо искал? Могу предположить, что уменьшение количества символов в логине сделано для оптимизации размеров баз данных. А символы причем? Может следует изменить эти стандарты? Как же тогда производить тестирование или даже как кодировать? Выбрать самый требовательный к адресам сервис и по нему ориентироваться? И я так понимаю, что если какая-то форма не пропускает некоторые валидные емейлы из-за недопустимости адреса, то это не баг?

Интересно, сколько раз надо написать одно и тоже...
RFC - стандарт. Если вы пишете почтовый сервер - будьте добры, соблюдать все это.
Если ваша веб-програмулька не понимает всех возможных вариантов почтовых адресов - то это ХОРОШО!
В этом случае ваша программа не протеворечит этому стандарту. Но в ней будет меньше кода, и меньше ошибок, от исправления которых не станет лучше ни одному живому существу на планете.

Да и это нафиг никому не нужно, поддерживать все эти возможные адреса. И если найдется идиот с ненормальным адресом в 64 символа (или сколько их там) на домене второго уровня - то пусть он идет лесом мимо вашей программы со своим адресом.

Если вы не тестируете почтовый сервер (ну и возможно клиент тоже) - то использование всяких экзотических емэйлов - (а) трата времени и (б) создание ненужных записей в трэкере. Если бы я был программистом и ко мне бы пришли и сказали "first.(")middle.last(")@[IPv6:::12.34.56.78]" - не работает, согласно RFC, давай чинить. Я бы послал куда подальше.

Есть одно исключение, на которое мне как-то указали, зачем это надо делать - чтобы понять, что программа корректно себя ведет на идиотских(но валидных) адресах. А то ведь может дать зарегистрироваться, но потом не дать залогиниться и тд.

PS: кстати [IPv6:::12.34.56.78] - нихрена невалидный Ipv6 адрес - очередной булшит
  • 0
Regards,
Alexey

#7 piersto

piersto

    Новый участник

  • Members
  • Pip
  • 7 сообщений
  • ФИО:Pierre Stoiko

Отправлено 10 мая 2012 - 14:44

Большое всем спасибо за ответы!
:)
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных