Валидация
Пример #1 Валидация e-mail адреса, используя функцию filter_var()
<?php
$email_a = 'joe@example.com';
$email_b = 'bogus';
if (filter_var($email_a, FILTER_VALIDATE_EMAIL)) {
echo "E-mail ($email_a) указан верно.";
}
if (filter_var($email_b, FILTER_VALIDATE_EMAIL)) {
echo "E-mail ($email_b) указан верно.";
}
?>
Результат выполнения данного примера:
E-mail (joe@example.com) указан верно.
Пример #2 Валидация IP адреса, используя функцию filter_var()
<?php
$ip_a = '127.0.0.1';
$ip_b = '42.42';
if (filter_var($ip_a, FILTER_VALIDATE_IP)) {
echo "Адрес (ip_a) указан верно.";
}
if (filter_var($ip_b, FILTER_VALIDATE_IP)) {
echo "Адрес (ip_b) указан верно.";
}
?>
Результат выполнения данного примера:
Адрес (ip_a) указан верно.
Пример #3 Дополнительные параметры функции filter_var()
<?php
$int_a = '1';
$int_b = '-1';
$int_c = '4';
$options = array(
'options' => array(
'min_range' => 0,
'max_range' => 3,
)
);
if (filter_var($int_a, FILTER_VALIDATE_INT, $options) !== FALSE) {
echo "Число (int_a) является верным (от 0 до 3).\n";
}
if (filter_var($int_b, FILTER_VALIDATE_INT, $options) !== FALSE) {
echo "Число (int_b) является верным (от 0 до 3).\n";
}
if (filter_var($int_c, FILTER_VALIDATE_INT, $options) !== FALSE) {
echo "Число (int_c) является верным (от 0 до 3).\n";
}
$options['options']['default'] = 1;
if (($int_c = filter_var($int_c, FILTER_VALIDATE_INT, $options)) !== FALSE) {
echo "Число (int_c) является верным (от 0 и 3) и равно $int_c.";
}
?>
Результат выполнения данного примера:
Число (int_a) является верным (от 0 до 3). Число (int_c) является верным (от 0 до 3).
Коментарии
Why does filter_var with FILTER_VALIDATE_EMAIL not return a valid email for the email root@localhost? According to the RFC, this is correct.