• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Проверка адреса 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-х после точки.
И домены второго уровня там предусмотрены посмотри внимательно на паттэрн
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

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