## Filtros de validación

Listado de filtros para validación
ID | Nombre | Opciones | Banderas | Descripción
--- | --- | --- | --- | ---
`FILTER_VALIDATE_BOOLEAN`, `FILTER_VALIDATE_BOOL` | "boolean" | `default` | `FILTER_NULL_ON_FAILURE` | Devuelve `true` para "1", "true", "on" y "yes". Devuelve `false` en caso contrario. Si `FILTER_NULL_ON_FAILURE` está declarado, se devolverá `false` sólo para "0", "false", "off", "no", y "", y `null` para cualquier valor no booleano. Los valores String se recortan utilizando trim() antes de la comparación.
`FILTER_VALIDATE_DOMAIN` | "validate_domain" | `default` | `FILTER_FLAG_HOSTNAME`, `FILTER_NULL_ON_FAILURE` | Valida si las longitudes de las etiquetas de los nombres de dominio son válidas. Valida los nombres de dominio según el RFC 1034, RFC 1035, RFC 952, RFC 1123, RFC 2732, RFC 2181, y RFC 1123. Bandera opcional `FILTER_FLAG_HOSTNAME` añade la capacidad de validar específicamente los nombres de host (deben comenzar con un alfanumérico y contener sólo caracteres alfanuméricos o guiones).
`FILTER_VALIDATE_EMAIL` | "validate_email" | `default` | `FILTER_FLAG_EMAIL_UNICODE`, `FILTER_NULL_ON_FAILURE` | Valida una dirección de correo electrónico. En general, se validan direcciones de correo electrónico con la sintaxis `addr-spec` del » RFC 822, con la excepción de no admitir el plegamiento de comentarios y dominios con espacios en blanco no son compatibles.
`FILTER_VALIDATE_FLOAT` | "float" | `default`, `decimal`, `min_range`, `max_range` | `FILTER_FLAG_ALLOW_THOUSAND`, `FILTER_NULL_ON_FAILURE` | Valida si el valor es un float, opcionalmente del rango especificado, y lo convierte a float si tiene éxito. Los valores de los string se recortan con usando trim() antes de la comparación.
`FILTER_VALIDATE_INT` | "int" | `default`, `min_range`, `max_range` | `FILTER_FLAG_ALLOW_OCTAL`, `FILTER_FLAG_ALLOW_HEX`, `FILTER_NULL_ON_FAILURE` | Valida un valor como integer, opcionalmente desde el rango especificado, y lo convierte a int en caso de éxito. Los valores de los string se recortan con usando trim() antes de la comparación.
`FILTER_VALIDATE_IP` | "validate_ip" | `default` | `FILTER_FLAG_IPV4`, `FILTER_FLAG_IPV6`, `FILTER_FLAG_NO_PRIV_RANGE`, `FILTER_FLAG_NO_RES_RANGE`, `FILTER_NULL_ON_FAILURE` | Valida si es valor es una dirección IP, opcionalmente se puede indicar que sea sólo IPv4 o IPv6 o que no sea de rangos privados o reservados.
`FILTER_VALIDATE_MAC` | "validate_mac_address" | `default` | `FILTER_NULL_ON_FAILURE` | Valida una dirección MAC.
`FILTER_VALIDATE_REGEXP` | "validate_regexp" | `default`, `regexp` | `FILTER_NULL_ON_FAILURE` | Valida el valor contra `regexp`, una expresión regular Perl-compatible.
`FILTER_VALIDATE_URL` | "validate_url" | `default` | `FILTER_FLAG_SCHEME_REQUIRED`, `FILTER_FLAG_HOST_REQUIRED`, `FILTER_FLAG_PATH_REQUIRED`, `FILTER_FLAG_QUERY_REQUIRED`, `FILTER_NULL_ON_FAILURE` | Valida si su valor es una URL (de acuerdo con » http://www.faqs.org/rfcs/rfc2396), opcionalmente con componentes necesarios. Se ha de tener cuidado ya que un URL válida podría no especificar el protocolo HTTP `http://`, por lo que podrían ser necesarias validaciones posteriores para determinar que el URL utiliza un protocolo esperado, p.ej., `ssh://` o `mailto:`. Nótese que esta función sólo buscará para ser validadas URLs ASCII; los nombres de dominio internacionales (que contienen no-ASCII caracteres) fallarán en la validación.

> Nota:

> Cuando `default` está establecido a option, se utilizará el valor de `default` si el valor no es validado.

### Historial de cambios

Versión | Descripción
--- | ---
8.0.0 | The `FILTER_FLAG_SCHEME_REQUIRED` and `FILTER_FLAG_HOST_REQUIRED` flags for the `FILTER_VALIDATE_URL` filter have been removed. The `scheme` and `host` are (and have been) always required.
8.0.0 | Added `FILTER_VALIDATE_BOOL` as an alias for `FILTER_VALIDATE_BOOLEAN`. Using `FILTER_VALIDATE_BOOL` is preferred.
7.4.0 | Added `min_range` and `max_range` options for `FILTER_VALIDATE_FLOAT`.
7.0.0 | Added `FILTER_FLAG_HOSTNAME` and `FILTER_VALIDATE_DOMAIN`.