• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Проверка адреса E-mail.

  • Автор темы GOsha
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

GOsha

Все просто:
Код:
function IsMail($var)
{
if (!eregi("^[a-z0-9]+([-_\.]?[a-z0-9])+@[a-z0-9]+([-_\.]?[a-z0-9])+\.[a-z]{2,4}",$var))
{
return false;
}
return true;
}

if(IsMail('test@mail.ru'))
{
echo "OK!";
} else {
echo "ERR!";
}
 
D

deadt04ka

Но ведь это только для доменов 1-ого уровня!
Но даже тут есть маленький недочёт в конце надо ставить знак $(что означает конец файла в противном случае скрипт не всегда будет работать правильно пример :test@mail.ruasd32421 выдаст 'OK!') в интоге для проверки доменов первого уровня получаем функцию:

Код:
<?
function validate_mail($var)
{
if(preg_match("/^[a-zA-Z0-9_\.-]+@[[:alpha:]]+\.[[:alpha:]]{2,4}$/i",$mail) && strlen($mail)<=32)
return true;
return false;
}
if(validate_mail("test@mail.ru"))
echo "validate OK!";
else 
echo "validate ERROR!";
?>
 
G

GOsha

Для: deadt04ka
Не скушает.
Там стоит от 2-х до 4-х после точки.
И домены второго уровня там предусмотрены посмотри внимательно на паттэрн
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!