Помощник
|
Регулярка для валидации Email |
WebJunior_mw
|
Сообщение
#1
|
||
|
|
||
|
|||
miketomlin |
18.2.2018, 15:41;
Ответить: miketomlin
Сообщение
#2
|
|
Если под автомат (например, автоуведомление на оставленное мыло) или внесение в какие-то критичные к вносимому содержимому структуры данных, то нужна. Иначе нет (например, внесение мыла в содержимое простого текстового письма, отправляемого вменяемому оператору). Естественно, регулярки могут быть разными. Зависит от того, что для вас приемлемо, а что нет. Если просто хотите проверить наличие @ между чем-то, то и такой регулярки достаточно: ^[^@]+@[^@]+$ :)
P.S. Иногда атаки делают не по содержимому, а по длине (объему корректных данных, посылаемых атакуемому). Тут лучше не использовать регулярки, а проверять непосредственно длину. -------------------- |
|
|
WebJunior_mw
|
Сообщение
#3
|
|
miketomlin, Ну по RFC длина local name 64 символа и длина домена 254 символа. Вот на это и буду опираться.
Сообщение отредактировал WebJunior - 18.2.2018, 16:03 |
|
|
WebJunior_mw
|
Сообщение
#4
|
|
Забавная ситуация. Решил согласно рекомендациям сделать проверку длинны мыла, что бы оно не превышало длину 254 символа. Когда я вставил в инпут строку из 256 символов вкладка браузера зависла. Не думал, что клиенту станет плоха. Вопрос. Нужно ли с этим как-то бороться? Допустимая длина email'а как я уже писал 64 символа это имя и доменная часть 254 символа. Я таких длинных мейлов ни разу не видел и сомневаюсь, что они вообще существуют в природе.
|
|
|
WebJunior_mw
|
Сообщение
#5
|
|
Во дела. Даже от 64-х символов клиент ложится. А как тогда в других местах валидация функционирует? Я знал, что регулярки прожорливые, но, чтоб настолько!
|
|
|
ixman |
18.2.2018, 20:25;
Ответить: ixman
Сообщение
#6
|
|
WebJunior_mw, режу мыло на 30 символов. Всё что выше это уже извращение
|
|
|
WebJunior_mw
|
Сообщение
#7
|
|
|
|
|
fedornabilkin |
19.2.2018, 10:46;
Ответить: fedornabilkin
Сообщение
#8
|
|
Где-то читал, что это горе от ума. Не помню статью, но мне очень понравились аргументы и теперь я, если проверяю, то наличие минимум одного символа перед @ и пять символов после. Во многом спасает тип инпута email.
Вроде регистрируются новые :) |
|
|
ixman |
19.2.2018, 12:02;
Ответить: ixman
Сообщение
#9
|
|
WebJunior_mw, на счёт что кто-то не мог зарегаться я не знаю, так как не отслеживаю это дело, но никто не жаловался на это. Я проанализировал свою базу email на несколько тысяч и все эти адреса вполне вписываются в 30 символов, так что если и кто-то пытался просунуть мыло в 50 символов и более, то это просто больной на голову человек и мне с ним не по пути.
|
|
|
WebJunior_mw
|
Сообщение
#10
|
|
Ixman, Ну да действительно человек не здоровый. 30 символов уже проблемно запомнить, а 50 так вообще можно не пытаться запоминать)) Я несколько дней пытаюсь разобраться в вопросе валидации и прихожу к выводу, что RFC не соответствует текущим реалиям. Те символы которые допускает стандарт RFC в email адресах на практике похоже не используются. Во всяком случаи я не видел ни одного мыла с экзотическим набором символов типо alex'f-sklyar@musiсian.ru или shnur+ok@spb.ru про спец символы !#?$% я вообще молчу это бред их не должно быть в адресе мыла.
fedornabilkin, Вполне разумно. Домен состоит минимум из двух символов(с одним я пока не видел) и после точки тоже минимум 2 символа. Хотя адрес вида user@mail тоже считается валидным. |
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Партнерская программа для Эзотерики, Магии, Таро партнерка для эзотерики |
0 | LiveExpert | 330 | Сегодня, 15:13 автор: LiveExpert |
|
Партнерская программа для Эзотерики, Магии, Таро партнерка для эзотерики |
0 | LiveExpert | 307 | Сегодня, 15:13 автор: LiveExpert |
|
Azinomoney.com - гемблинг-партнерка с 65%RS для каждого Гарантированный заработок на гемблинг-трафике |
65 | AzinoMoney | 29174 | Вчера, 19:10 автор: AzinoMoney |
|
Делаю полностью уникальный дизайн для сайтов! | 46 | AlexDIZ | 93462 | 26.3.2024, 20:03 автор: AlexDIZ |
|
Большие ставки для кликов в Я.Директ. Как удешевить? | 2 | rownong27 | 1119 | 26.3.2024, 14:13 автор: knezevolk |
Текстовая версия | Сейчас: 28.3.2024, 23:20 |