Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.
FILTER_VALIDATE_BOOL
(int)
Retourne true pour "1",
1, y compris les notations binaire, octale et hexadécimale, 1.0, y compris la notation scientifique,
"true", true,
"on",
et "yes".
Retourne false pour "0",
0, y compris les notations binaire, octale et hexadécimale, 0.0, y compris la notation scientifique,
"false", false,
"off",
"no", et
"".
Les valeurs de type chaîne sont comparées sans tenir compte de la casse.
La valeur retournée pour des valeurs non booléennes dépend de
FILTER_NULL_ON_FAILURE.
Si ce dernier est défini, null est retourné, sinon false est retourné.
defaultValeur à retourner si le filtre échoue.
Disponible à partir de PHP 8.0.0.
FILTER_VALIDATE_BOOLEAN
(int)
Alias de FILTER_VALIDATE_BOOL.
Cet alias était disponible avant l'introduction de son nom canonique
dans PHP 8.0.0.
FILTER_VALIDATE_INT
(int)
Valide si la valeur est un entier, en cas de succès, elle est convertie en type int.
Note:
Les chaînes de caractères sont nettoyées à l'aide de trim() avant validation.
defaultValeur à retourner si le filtre échoue.
min_rangeLa valeur est valide seulement si elle est supérieure ou égale à la valeur fournie.
max_rangeLa valeur est valide seulement si elle est inférieure ou égale à la valeur fournie.
FILTER_FLAG_ALLOW_OCTAL
(int)
Permet les entiers en notation octale
(0[0-7]+).
FILTER_FLAG_ALLOW_HEX
(int)
Permet les entiers en notation hexadécimale
(0x[0-9a-fA-F]+).
FILTER_VALIDATE_FLOAT
(int)
Valide si la valeur est un nombre flottant, en cas de succès, elle est convertie en type float.
Note:
Les chaînes de caractères sont nettoyées à l'aide de trim() avant validation.
defaultValeur à retourner si le filtre échoue.
decimal
min_rangeLa valeur est valide seulement si elle est supérieure ou égale à la valeur fournie. Disponible à partir de PHP 7.4.0.
max_rangeLa valeur est valide seulement si elle est inférieure ou égale à la valeur fournie. Disponible à partir de PHP 7.4.0.
FILTER_FLAG_ALLOW_THOUSAND
(int)
Accepte les virgules (,),
qui représentent généralement le séparateur de milliers.
FILTER_VALIDATE_REGEXP
(int)
Valide la valeur en fonction de l'expression régulière fournie par l'option
regexp.
defaultValeur à retourner si le filtre échoue.
regexpExpression régulière compatible Perl.
FILTER_VALIDATE_URL
(int)
Valide si l'URL est valide selon » RFC 2396.
defaultValeur à retourner si le filtre échoue.
FILTER_FLAG_SCHEME_REQUIRED
(int)
Exige que l'URL contienne une partie schéma.
OBSOLÈTE à partir de PHP 7.3.0 et
SUPPRIMÉ à partir de PHP 8.0.0.
Cela est dû au fait qu'il est toujours implicite avec
le filtre FILTER_VALIDATE_URL.
FILTER_FLAG_HOST_REQUIRED
(int)
Exige que l'URL contienne une partie hôte.
OBSOLÈTE à partir de PHP 7.3.0 et
SUPPRIMÉ à partir de PHP 8.0.0.
Cela est dû au fait qu'il est toujours implicite avec
le filtre FILTER_VALIDATE_URL pour la plupart des schémas.
FILTER_FLAG_PATH_REQUIRED
(int)
Exige que l'URL contienne une partie chemin.
FILTER_FLAG_QUERY_REQUIRED
(int)
Exige que l'URL contienne une partie requête.
Une URL valide peut ne pas spécifier le
protocole HTTP (http://).
Une validation supplémentaire peut donc être nécessaire pour vérifier si l'URL
utilise un protocole attendu, par exemple ssh:// ou mailto:.
Ce filtre ne fonctionne que sur les URLs ASCII. Cela signifie que les noms de domaine internationalisés (IDN) seront toujours rejetés.
Ce filtre est très permissif. Pour tout schéma autre que
http:// ou https://, le contenu
de l'hôte sera accepté sans aucune validation, bien que la présence
d'un hôte reste requise sauf si l'URL a pour schéma
mailto:, news: ou
file:. Les schémas eux-mêmes ne sont pas validés et
peuvent être acceptés même s'ils ne correspondent pas à un schéma
d'URL connu, ou s'ils ont une autre signification en
PHP (comme phar://). Le filtre
accepte également les adresses
» loopback
correspondant à l'hôte courant.
<?php
var_dump(filter_var('javascript://x%0aalert(1)', FILTER_VALIDATE_URL));
var_dump(filter_var('javascript://?demo', FILTER_VALIDATE_URL));
var_dump(filter_var('news:?demo', FILTER_VALIDATE_URL));
var_dump(filter_var('phar://demo', FILTER_VALIDATE_URL));
var_dump(filter_var('123://demo', FILTER_VALIDATE_URL));
var_dump(filter_var('-://demo', FILTER_VALIDATE_URL));
var_dump(filter_var('http://127.0.0.1', FILTER_VALIDATE_URL));
var_dump(filter_var('gopher://127.0.0.1', FILTER_VALIDATE_URL));
?>L'exemple ci-dessus va afficher :
string(25) "javascript://x%0aalert(1)" bool(false) string(10) "news:?demo" string(11) "phar://demo" string(10) "123://demo" string(8) "-://demo" string(16) "http://127.0.0.1" string(18) "gopher://127.0.0.1"
FILTER_VALIDATE_DOMAIN
(int)
Valide si le nom de domaine est valide selon » RFC 952, » RFC 1034, » RFC 1035, » RFC 1123, » RFC 2732, et » RFC 2181.
defaultValeur à retourner si le filtre échoue.
FILTER_FLAG_HOSTNAME
(int)
Exige que les noms d'hôte commencent par un caractère alphanumérique et ne contiennent que des caractères alphanumériques ou des traits d'union.
Ce filtre est très permissif. Comme spécifié dans la
» RFC 2181, un nom de domaine
valide est une chaîne d'au plus 253 caractères (254 avec un séparateur
. final) dont chaque étiquette (séparée par un
.) compte au plus 63 caractères. Sauf si
FILTER_FLAG_HOSTNAME est utilisé pour s'assurer que
le domaine est aussi un nom d'hôte valide, les espaces blancs, les
métacaractères, les octets de contrôle et même les octets NUL sont
acceptés par le filtre.
<?php
var_dump(filter_var("!@#$%^&*(){}[]/?=+\|`~\"'<>,", FILTER_VALIDATE_DOMAIN));
var_dump(filter_var("null byte: >\0<", FILTER_VALIDATE_DOMAIN));
var_dump(filter_var("space:> <, tab:>\t<, newline: >\n<, carriage return>\r<", FILTER_VALIDATE_DOMAIN));
?>L'exemple ci-dessus va afficher :
string(27) "!@#$%^&*(){}[]/?=+\|`~"'<>,"
string(14) "null byte: ><"
string(52) "space:> <, tab:> <, newline: >
<, carriage return>
<"
FILTER_VALIDATE_EMAIL
(int)
Valide si la valeur est une adresse e-mail "valide".
La validation est effectuée selon la syntaxe addr-spec
dans le
» RFC 822.
Cependant, les commentaires, le pliage des espaces blancs et les noms de domaine sans point
ne sont pas pris en charge et seront donc rejetés.
defaultValeur à retourner en cas d'échec du filtre.
FILTER_FLAG_EMAIL_UNICODE
(int)
Accepte les caractères Unicode dans la partie locale. Disponible à partir de PHP 7.1.0.
La validation des e-mails est complexe et le seul moyen fiable de confirmer qu'un e-mail est valide et existe est d'envoyer un e-mail à l'adresse.
FILTER_VALIDATE_IP
(int)
Valide la valeur en tant qu'adresse IP.
defaultValeur à retourner en cas d'échec du filtre.
FILTER_FLAG_IPV4
(int)
Autoriser les adresses IPv4.
FILTER_FLAG_IPV6
(int)
Autoriser les adresses IPv6.
FILTER_FLAG_NO_RES_RANGE
(int)
Refuser les adresses réservées.
Ce sont les plages qui sont marquées comme
Reserved-By-Protocol dans
» RFC 6890.
Pour IPv4, cela correspond aux plages suivantes :
0.0.0.0/8, 169.254.0.0/16, 127.0.0.0/8, 240.0.0.0/4.
Et pour IPv6, cela correspond aux plages suivantes :
::1/128, ::/128, ::FFFF:0:0/96, FE80::/10.
FILTER_FLAG_NO_PRIV_RANGE
(int)
Refuser les adresses privées.
Ce sont des adresses IPv4 qui se trouvent dans les plages suivantes :
10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16.
Ce sont des adresses IPv6 commençant par
FD ou FC.
FILTER_FLAG_GLOBAL_RANGE
(int)
N'autoriser que les adresses globales.
Celles-ci peuvent être trouvées dans
» RFC 6890
où l'attribut Global est True.
Disponible à partir de PHP 8.2.0.
FILTER_VALIDATE_MAC
(int)
Valide si la valeur est une adresse MAC.
defaultValeur à retourner en cas d'échec du filtre.