Иногда я забываю про старую добрую проверку основанную на регулярный выражениях PHP. Я ищу решения и натыкаюсь на preg_match. Я покажу вам простой способ как проверить email телефонный номер при помощи регулярок PHP. Этот пример не сложный. Функция preg_match работает в нескольких режимах. В одном режиме она возвращает массив найденных совпадений (Поиск чисел в строке при помощи регулярных выражений PHP), в другом булевый тип: FALSE или TRUE. Если строка соответствует условию, то возвращается TRUE, в противном случае ошибка FALSE. Используйте этот код перед тем как записать данные в базу данных. Это защита от SQL-инъекций. Простая защита и более-менее надёжная.
//проверка email
$str = trim($email);
if(!preg_match("/^([a-z0-9_-]+[\.]+)*[a-z0-9_-]+@[a-z0-9_-]+(\.[a-z0-9_-]+)*\.[a-z]{2,6}$/i", $str)) {
$errors = 'Не верный email!';
} else {
echo 'Корректный email!';
}
В этом примере проверяется телефонный номер по шаблону /\+7\d+/i. Если нужно проверить фиксированную последовательность чисел, то измените шаблон /\+7\d{10,10}/i. В итоге будет 11 символов проверяться. Все сотовые номера состоят из 11 чисел. Например +7(123) 456 78 90.
$str = trim($phone);
if(!preg_match("/\+7\d+/i", $str)) {
$errors = 'Не верный номер телефона!';
} else {
echo 'Корректный номер телефона!';
}