validate validar validacion texto filtros filter_var filter_validate_regexp ejemplo php email email-validation filter-var

validar - error de correo php filter_var



validar texto php (2)

Utilizo la función filter_var php para validar la dirección de correo electrónico cuando un usuario se registra en mi sitio

así que uso este código de la publicación:

$email = filter_var($_POST[''email''], FILTER_VALIDATE_EMAIL);

luego lo hago:

if(!$email) { // return to the form } else { // send registration info }

ahora cuando yo var_dump ($ email)

salida:

string(23) "user."name"@example.com"

Me gustaría saber por qué esto no es falso, creo que las comillas dobles no son aceptables, ¿por qué PHP dice que es válido?


Tuve el mismo problema (ver Dalmas sobre por qué es válido) y así es cómo lo solucioné:

filter_var($email, FILTER_SANITIZE_EMAIL);

p.ej:

$email = ''user."name"@example.com''; $email = filter_var($email, FILTER_SANITIZE_EMAIL);

dará salida:

string(21) "[email protected]"

Luego puede validar el correo electrónico utilizando su validación.

puede obtener más información en el sitio php


Es una dirección de correo electrónico válida :

Una cadena entrecomillada puede existir como una entidad separada por puntos dentro de la parte local o puede existir cuando las comillas más externas son las más externas de la parte local (por ejemplo, abc. "Defghi" .xyz @ example.com o "abcdefghixyz" @ example.com está permitido. abc "defghi" [email protected] no lo está, ni abc / "def /" [email protected]).