Как проверить, является ли строка числом, e-mail'ом?
От: Николай Меркин Россия  
Дата: 10.06.03 04:01
Оценка: 308 (7)
Статья:
Как проверить, является ли строка числом, e-mail'ом?
Автор(ы): Николай Меркин
Дата: 19.01.2002


Авторы:
Николай Меркин

Аннотация:
Перекуём баги на фичи!
Повышение производительности "switch" решения
От: Аноним  
Дата: 20.02.02 06:36
Оценка:
В целях повышения производительности варианта со switch имеет смысл переписать функцию isLetter.
А из того, что сразу бросается в глаза, можно еще немного улучшить если в checkEMail_S изменить объявление "char c = *(str++);" на "const char c = *(str++);"

inline bool isLetter(char c)
{
return ( c >= 33 &&
c <= 126 &&
c != 'C' &&
c != ')' &&
c != '<' &&
c != '>' &&
c != '@' &&
c != ',' &&
c != ';' &&
c != ':' &&
c != '.' &&
c != '[' &&
c != ']' &&
c != '\\');
}
правильность мыла
От: Аноним  
Дата: 22.02.02 08:17
Оценка:
а разве бывает мыло
<letters>@<letters>

т.е. чтоб домен был без точки, например name@domain
кто смотрел стандарты, поправте меня если я не прав ?
может это обязательно чтоб была хоть одна точка в имени домена

и еще что-то я не очень понял табличный метод, можно чуть больше комментриев ?

ага только что понял, в чем причина, в версии для печати немного другой код чем этой ;(

это специально так ?
опечатка?
От: Аноним  
Дата: 24.02.02 15:46
Оценка:
> Mantissa4, <e> -> Indicator1
Состояния "Indikator1" нет, видимо имеется ввиду "Exponent1".
Было бы интересно почитать об общем методе построения автомата по регулярному выражению.
А по чему тест производился без оптимизации?
От: Аноним  
Дата: 22.05.02 06:52
Оценка:
Результаты без оптимизации не показательны. Оптимизированный код может быть в 10 раз быстрее и результаты могут измениться.
Ошибка
От: Аноним  
Дата: 04.06.02 10:44
Оценка:
"ДКА может порождать только либо бесконечную строку из одинаковых символов, либо 1-символьную, либо пустую"

Это не верно. Получая на вход тики, ДКА может порождать, например, функцию от номера тика. Или ещё что-то. Бесконечную строку из одинаковых символов, либо 1-символьную, либо пустую в этом случае будет порождать детерменированный конечный автомат без памяти.
Неточность?
От: Frostbitten Россия  
Дата: 10.02.03 18:01
Оценка:
Если не ошибаюсь, то "Правила для автомата" в "Число с плавающей точкой" пропустят число "-".
Там не нужна строка "Mantissa2, <end> -> Success", благо в коде ее уже нет :)
Re: Повышение производительности
От: Аноним  
Дата: 22.05.02 06:50
Оценка:
isLetter выигрыш дать может, а вот "char c = *(str++);" на "const char c = *(str++);"
вряд ли. Все равно переменная будет запихана в регистр.
Re: правильность мыла
От: Кодт Россия  
Дата: 27.02.02 05:09
Оценка:
А где разница в коде?!

Насчет name@domain
RFC 822 (кстати, еще со времен ARPANET) регламентирует только форму записи.
Про домены первого уровня сказать не могу, но imho их никто не запрещал... (другое дело, что серверов таких, скорее всего, нет).
Перекуём баги на фичи!
Re: Повышение производительности
От: Аноним  
Дата: 04.06.02 06:25
Оценка:
И, по правде говоря, выигрыш дает очень заметный. А насчет const, ох давно это было, тоже был (но он мог быть связан с погрешностью в вычислениях (был мал)).
Re: правильность мыла
От: Аноним  
Дата: 22.05.02 06:48
Оценка:
www.ru или www.com, например. Вот только обычно их названия не превышают 3 символов.

А вот точки в имени пользователя запрещены наверняка.
Re: правильность мыла
От: Alexander Shargin Россия RSDN.ru
Дата: 22.05.02 07:54
Оценка:
Тем не менее, "user-friendly" адреса из имени и фамилии практикуются очень широко. Например, можно написать мне письмо по адресу Alexander.Shargin@softspb.com.
--
Я думал, ты огромный страшный Бажище,
А ты недоучка, крохотный Бажик...
Re: правильность мыла
От: Кодт Россия  
Дата: 27.08.02 13:29
Оценка:
Тем не менее, обратиться к http://ru или http://com не получится :)

А точки в именах пользователя разрешены (возможно, какие-либо сервера почтовых ящиков вводят ограничения — но это отступление от RFC 822).
Перекуём баги на фичи!
Re: правильность мыла
От: Sinclair Россия https://github.com/evilguest/
Дата: 10.06.03 09:39
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>а разве бывает мыло

А><letters>@<letters>

А>т.е. чтоб домен был без точки, например name@domain

А>кто смотрел стандарты, поправте меня если я не прав ?
Ну, по стандарту никаких проблем создать запись типа MX для домена первого уровня никаких проблем нет.
Более того, одно время в национальном домене Лесото (ls) не было никаких записей, кроме записи типа A для самого ls, т.е. в этой зоне был ровно один IP адрес. По стандарту, при отсутствии MX записи почтовые адреса резолвтся наприямую, т.е. мыло, отправленное в admin@ls должно было уехать в SMTP на том IP, который был для Лесото прописан.
... << RSDN@Home 1.0 beta 7a >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[2]: правильность мыла
От: VladD2 Российская Империя www.nemerle.org
Дата: 10.06.03 17:55
Оценка:
Здравствуйте, Кодт, Вы писали:

К>Тем не менее, обратиться к http://ru или http://com не получится


К>А точки в именах пользователя разрешены (возможно, какие-либо сервера почтовых ящиков вводят ограничения — но это отступление от RFC 822).


Дык это как в ДНС-е прописано будет, так и будет. Просто www.ru прописали, а ru нет.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: правильность мыла
От: King Oleg Украина http://kingoleg.livejournal.com
Дата: 18.02.04 11:34
Оценка:
Здравствуйте, Аноним, Вы писали:

А>а разве бывает мыло

А><letters>@<letters>

А>т.е. чтоб домен был без точки, например name@domain

А>кто смотрел стандарты, поправте меня если я не прав ?
Дефис(минус) в домене может быть только в середине.
А вообще по форуму пробегал регексп, который полностью соответствует стандарту.
П.С. Как всегда — не могу найти
King Oleg
*Читайте DOC'и, они rules*
Re[2]: правильность мыла
От: uzzy Россия  
Дата: 18.02.04 11:49
Оценка: +1
Здравствуйте, King Oleg, Вы писали:

KO>Здравствуйте, Аноним, Вы писали:


А>>а разве бывает мыло

А>><letters>@<letters>

А>>т.е. чтоб домен был без точки, например name@domain

А>>кто смотрел стандарты, поправте меня если я не прав ?
KO>Дефис(минус) в домене может быть только в середине.
KO>А вообще по форуму пробегал регексп, который полностью соответствует стандарту.
KO>П.С. Как всегда — не могу найти

Полагаю эта ветка:
PHP: Проверка E-Mail синтаксиса
Автор: 4mbi3nt
Дата: 04.07.03

Это из той же ветки но само решение:
Re[11]: PHP: Проверка E-Mail синтаксиса
Автор: DSD
Дата: 15.07.03
Powerman 5000 — Son of X51
Re: правильность мыла
От: anonymous Россия http://denis.ibaev.name/
Дата: 18.02.04 11:57
Оценка:
Здравствуйте, Аноним, Вы писали:

А>а разве бывает мыло

А><letters>@<letters>

А>т.е. чтоб домен был без точки, например name@domain

А>кто смотрел стандарты, поправте меня если я не прав ?
А>может это обязательно чтоб была хоть одна точка в имени домена

это возможно... например, для почтовых серверов в локальной сети, где имя локального сервера может быть без точки...
Re[2]: правильность мыла
От: Kaa Украина http://blog.meta.ua/users/kaa/
Дата: 20.02.04 13:10
Оценка: 12 (1)
Здравствуйте, King Oleg, Вы писали:

KO>А вообще по форуму пробегал регексп, который полностью соответствует стандарту.


Этот
Автор: Kaa
Дата: 31.07.03
?
Алексей Кирдин
Re[3]: правильность мыла
От: King Oleg Украина http://kingoleg.livejournal.com
Дата: 20.02.04 13:29
Оценка:
Здравствуйте, Kaa, Вы писали:

Kaa>Здравствуйте, King Oleg, Вы писали:


KO>>А вообще по форуму пробегал регексп, который полностью соответствует стандарту.


Kaa>Этот
Автор: Kaa
Дата: 31.07.03
?


Именно
King Oleg
*Читайте DOC'и, они rules*
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.