Estas constantes son definidas por esta extensión, y solo están disponibles si esta extensión ha sido compilada con PHP, o bien cargada en tiempo de ejecución.
FILTER_VALIDATE_BOOL
(int)
Devuelve true para "1",
1 incluyendo notaciones binarias, octales y hexadecimales, 1.0 incluyendo notación científica,
"true", true,
"on",
y "yes".
Devuelve false para "0",
0 incluyendo notaciones binarias, octales y hexadecimales, 0.0 incluyendo notación científica,
"false", false,
"off",
"no", y
"".
Los valores de string se comparan sin distinguir entre mayúsculas y minúsculas.
El valor de retorno para valores no booleanos depende de
FILTER_NULL_ON_FAILURE.
Si está configurado, se devuelve null, de lo contrario se devuelve false.
defaultValor a devolver en caso de que el filtro falle.
Disponible a partir de PHP 8.0.0.
FILTER_VALIDATE_BOOLEAN
(int)
Alias de FILTER_VALIDATE_BOOL.
El alias estaba disponible antes de la introducción de su nombre canónico
en PHP 8.0.0.
FILTER_VALIDATE_INT
(int)
Valida si el valor es un entero, en caso de éxito se convierte al tipo int.
Nota:
Los valores string son recortados usando trim() antes de la validación.
defaultValor a devolver en caso de que el filtro falle.
min_rangeEl valor solo es válido si es mayor o igual que el valor proporcionado.
max_rangeEl valor solo es válido si es menor o igual que el valor proporcionado.
FILTER_FLAG_ALLOW_OCTAL
(int)
Permite enteros en notación octal
(0[0-7]+).
FILTER_FLAG_ALLOW_HEX
(int)
Permite enteros en notación hexadecimal
(0x[0-9a-fA-F]+).
FILTER_VALIDATE_FLOAT
(int)
Valida si el valor es un float, en caso de éxito se convierte al tipo float.
Nota:
Los valores string son recortados usando trim() antes de la validación.
defaultValor a devolver en caso de que el filtro falle.
decimal
min_rangeEl valor solo es válido si es mayor o igual que el valor proporcionado. Disponible a partir de PHP 7.4.0.
max_rangeEl valor solo es válido si es menor o igual que el valor proporcionado. Disponible a partir de PHP 7.4.0.
FILTER_FLAG_ALLOW_THOUSAND
(int)
Acepta comas (,),
que normalmente representan el separador de miles.
FILTER_VALIDATE_REGEXP
(int)
Valida el valor contra la expresión regular proporcionada por la
opción regexp.
defaultValor a devolver en caso de que el filtro falle.
regexpExpresión regular compatible con Perl.
FILTER_VALIDATE_URL
(int)
Valida si la URL es válida según » RFC 2396.
defaultValor a devolver en caso de que el filtro falle.
FILTER_FLAG_SCHEME_REQUIRED
(int)
Requiere que la URL contenga una parte de esquema.
OBSOLETO a partir de PHP 7.3.0 y
ELIMINADO a partir de PHP 8.0.0.
Esto se debe a que siempre está implícito por el
filtro FILTER_VALIDATE_URL.
FILTER_FLAG_HOST_REQUIRED
(int)
Requiere que la URL contenga una parte de host.
OBSOLETO a partir de PHP 7.3.0 y
ELIMINADO a partir de PHP 8.0.0.
Esto se debe a que siempre está implícito por el
filtro FILTER_VALIDATE_URL para la mayoría de los esquemas.
FILTER_FLAG_PATH_REQUIRED
(int)
Requiere que la URL contenga una parte de ruta.
FILTER_FLAG_QUERY_REQUIRED
(int)
Requiere que la URL contenga una parte de consulta.
Una URL válida puede no especificar el
protocolo HTTP (http://).
Por lo tanto, puede ser necesaria una validación adicional para determinar si la
URL usa un protocolo esperado,
por ejemplo, ssh:// o mailto:.
Este filtro solo funciona con URLs ASCII. Esto significa que los Nombres de Dominio Internacionalizados (IDN) siempre serán rechazados.
Este filtro es muy permisivo. Para cualquier esquema distinto de
http:// o https://, el contenido
del host se acepta sin ninguna validación, aunque la presencia de un host
sigue siendo obligatoria, salvo que la URL tenga un esquema
mailto:, news: o
file:. Los esquemas no se validan por sí mismos y pueden
aceptarse aunque no correspondan a un esquema de URL conocido, o tengan
algún otro significado en PHP (como phar://).
El filtro también acepta direcciones de » loopback
que corresponden al host actual.
<?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));
?>El ejemplo anterior mostrará:
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)
Valida si el nombre de dominio es válido según » RFC 952, » RFC 1034, » RFC 1035, » RFC 1123, » RFC 2732, y » RFC 2181.
defaultValor a devolver en caso de que el filtro falle.
FILTER_FLAG_HOSTNAME
(int)
Requiere que los nombres de host comiencen con un carácter alfanumérico y contengan solo caracteres alfanuméricos o guiones.
Este filtro es muy permisivo. Como se especifica en la
» RFC 2181, un nombre de dominio
válido es una cadena con una longitud máxima de 253 caracteres (254 si
se incluye un separador . final) y en la que cada
etiqueta (separada por un .) tiene como máximo 63
caracteres. A menos que se use FILTER_FLAG_HOSTNAME
para garantizar que el dominio sea también un nombre de host válido, el
filtro acepta espacios en blanco, metacaracteres, bytes de control e
incluso bytes NUL.
<?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));
?>El ejemplo anterior mostrará:
string(27) "!@#$%^&*(){}[]/?=+\|`~"'<>,"
string(14) "null byte: ><"
string(52) "space:> <, tab:> <, newline: >
<, carriage return>
<"
FILTER_VALIDATE_EMAIL
(int)
Valida si el valor es una dirección de correo electrónico "válida".
La validación se realiza contra la sintaxis addr-spec
en
» RFC 822.
Sin embargo, los comentarios, el plegado de espacios en blanco y los nombres de dominio sin puntos
no están soportados, y por lo tanto serán rechazados.
defaultValor a devolver en caso de que el filtro falle.
FILTER_FLAG_EMAIL_UNICODE
(int)
Acepta caracteres Unicode en la parte local. Disponible a partir de PHP 7.1.0.
La validación de correo electrónico es compleja y la única forma verdadera de confirmar que un correo electrónico es válido y existe es enviar un correo electrónico a la dirección.
FILTER_VALIDATE_IP
(int)
Valida el valor como dirección IP.
defaultValor a devolver en caso de que el filtro falle.
FILTER_FLAG_IPV4
(int)
Permite direcciones IPv4.
FILTER_FLAG_IPV6
(int)
Permite direcciones IPv6.
FILTER_FLAG_NO_RES_RANGE
(int)
Deniega direcciones reservadas.
Estos son los rangos que están marcados como
Reserved-By-Protocol en
» RFC 6890.
Que para IPv4 corresponden a los siguientes rangos:
0.0.0.0/8, 169.254.0.0/16, 127.0.0.0/8, 240.0.0.0/4.
Y para IPv6 corresponden a los siguientes rangos:
::1/128, ::/128, ::FFFF:0:0/96, FE80::/10.
FILTER_FLAG_NO_PRIV_RANGE
(int)
Deniega direcciones privadas.
Estas son direcciones IPv4 que están en los siguientes rangos:
10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16.
Estas son direcciones IPv6 que comienzan con
FD o FC.
FILTER_FLAG_GLOBAL_RANGE
(int)
Solo permite direcciones globales.
Estas se pueden encontrar en
» RFC 6890
donde el atributo Global es True.
Disponible a partir de PHP 8.2.0.
FILTER_VALIDATE_MAC
(int)
Valida si el valor es una dirección MAC.
defaultValor a devolver en caso de que el filtro falle.