ChatCrawlersearch across public Telegram Open the app
A

As For JS - Talks

сообщение · 2025-03-28 01:25 UTC
I
Replymessage unavailable
Ссылка
click to show
О валидации email адреса. Короткий ответ При помощи одного регулярного выражения, провести валидацию EMail, в соответствии с текущим стандартом RFC - невозможно. Потребуется написать конечный автомат, где вы будете использовать несколько регулярных выражений как описание поведение конечного автомата. Исключение PCRE регулярные выражения, которых нет в JS. Длинный ответ или, а что делать Сначала спросить себя - а зачем мне это надо? Ответов может быть два: 1) я пишу свой smtp севрер 2) я решаю задачу, которая связанна с например фронтендом, где я хочу уберечь пользователя от ошибок при вводе емаил. В случае 1 - у Вас нет выбора. Вы обязаны реализовывать всю спецификацию RFC для EMail адресов. Замечу, что даже сейчас не все сервера это умеют делать. В случае 2 - стандартным решением сейчас является: либо использование html5 input type email либо использование какого либо очень простого алгоритма, который покрывает большинство кейсов связанных с типичными ошибками пользователя. Например просто на наличие символа @ в строке. Или на набор типичных опечаток - в конце строки есть gmail а точки перед ним нет. Где-то есть даже такой проект с набором типичных очепаток. После чего на серверной части происходит отправка письма, на частично валидированный EMail. Те кто хочет большей интерактивности, на сервере делает запрос к SMTP серверу формируя отправку и на момент передачи адреса контролируют ответ, который может содержать сообщение о ошибке. Чего достаточно для того чтобы вернуть ответ о невалидном EMail. Другим способом является какой нибудь элемент интереактивности, который требует повтого ввода email. С запретом на копи пейст и последующим сравнением обоих строк. О чем следует помнить 1) Валидация EMail согласно современному RFC чрезвычайно сложный не тривиальный механизм. 2) Адрес может содержать практически все символы стандарта UNICODE в том числе и региональные (иероглифы, быть написаным справа налево и т.д.) 3) Не нужно делать лишнюю работу, когда это уже сделали за вас (работающий smtp сервер). Пользуйтесь им, если Вам нужна максимальная интерактивность. Реализация протокола взаимодействия с SMTP сервером очень простая задача. 4) Познакомьтесь с input type email Вместо ИГОГО Если задача валидации продиктована необходимостью взаимодейтсвовать с пользователем, то наиболее корректным и простым решением является - самый простой из возможной алгоритмов контроля введенной информации на клиенте, которая реагирует вопросм - проверьте все ли корректно и если уверены - нажмите да. Плюс отправка письма с этим "частично валидированным" EMail Для максимальной интерактивности, серверная часть, взаимодейтсвует с SMTP сервером формируя фейковую отправку и на этапе отправке адресата контролирует корректность ответа. SMTP сервер может быть настроен таким образом что он ничего не ответит а примет любой адрес. Но чаще всего есть ответ о корректности, особенно если это локальный SMTP сервер. Либо мониторим логи SMTP сервера на предмет лупбека от внешнего сервера с ошибкой. При этом прямое взаимодейтсвие с SMTP сервером потребует много меньше ресурсов.
4.7K ·

Вся лента · оригинал в Telegram

Open in Telegram Каталог площадок Искать в ChatCrawler

A snapshot of an open public feed from the search index ChatCrawler — “Google for public Telegram”; refreshed as the venue is crawled. Times are UTC.

Public content only, official Telegram API. About · FAQ · What we do not do · Remove a page · Catalog