Сначала вам нужно определить действительный адрес электронной почты .
Существуют различные подходы к этому в зависимости от того, насколько важна для вас эта проверка.
Некоторые люди используют сумасшедшие регулярные выражения RFC.
Другой крайний вариант - сохранить все введенные пользователем данные, а затем попытаться отправить электронное письмо с подтверждением на этот адрес.Нет подтверждения = плохой адрес электронной почты.
Возможно, вы захотите что-то среднее: убедитесь, что в середине есть @
, например:
$email_arr = explode('@', $email);
if (sizeof($email_arr) !== 2 || $email_arr[0] == '' || $email_arr[1] == '')
... // definitely not valid
UPD: Марк Б прибил его с filter_var($email, FILTER_VALIDATE_EMAIL)
Это, наверное, лучший способ.