Валидация

Пример #1 Валидация e-mail адреса, используя функцию filter_var()

<?php
$email_a 
'joe@example.com';
$email_b 'bogus';

if (
filter_var($email_aFILTER_VALIDATE_EMAIL)) {
    echo 
"E-mail ($email_a) указан верно.";
}
if (
filter_var($email_bFILTER_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_aFILTER_VALIDATE_IP)) {
    echo 
"Адрес (ip_a) указан верно.";
}
if (
filter_var($ip_bFILTER_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_aFILTER_VALIDATE_INT$options) !== FALSE) {
    echo 
"Число (int_a) является верным (от 0 до 3).\n";
}
if (
filter_var($int_bFILTER_VALIDATE_INT$options) !== FALSE) {
    echo 
"Число (int_b) является верным (от 0 до 3).\n";
}
if (
filter_var($int_cFILTER_VALIDATE_INT$options) !== FALSE) {
    echo 
"Число (int_c) является верным (от 0 до 3).\n";
}

$options['options']['default'] = 1;
if ((
$int_c filter_var($int_cFILTER_VALIDATE_INT$options)) !== FALSE) {
    echo 
"Число (int_c) является верным (от 0 и 3) и равно $int_c.";
}
?>

Результат выполнения данного примера:

Число (int_a) является верным (от 0 до 3).
Число (int_c) является верным (от 0 до 3).

Коментарии

Автор:
the problem listed before with the e-mail address: gnix@lineone.netsteve.gynes@lane4.co.uk being flagged as valid seems to not be a problem anymore, at least not on 5.6.30
2017-11-21 09:34:59
http://php5.kiev.ua/manual/ru/filter.examples.validation.html
Автор:
It considers umlauts-domains as invalid.

test@täst.de -> false
täst@test.de -> false
2018-05-04 11:26:17
http://php5.kiev.ua/manual/ru/filter.examples.validation.html
Автор:
this function gives true to nora@nora  when ther is no "extension" .com
2021-03-20 11:26:21
http://php5.kiev.ua/manual/ru/filter.examples.validation.html

    Поддержать сайт на родительском проекте КГБ