Hola me ha salido este problema de logica soy nuevo entendiendo las expresiones regulares no hay error en el codigo el detalle no entiendo bien esta expresion de validar el correo esta funcion valida correctamente el correo
tengo esta expresion regular
Código PHP:
Ver originalfunction verificaremail($email){
if (!preg_match("/^([a-zA-Z0-9._-]+)@([a-zA-Z0-9.-]+).([a-zA-Z]{2,4})$/",$email)){ return FALSE;
} else {
return TRUE;
}
}
esta parte si entiendo
-en la primera me dice que necesito cualquier caracter de la a-z o A-Z o 0-9 .-_ el + significa que pueden entrar mas caracteres despues debe de ir un @ asi tambien lo entiendo ahora despues de la arroba sigue el proveedor de correo que puede ser yahoo o hotmail no se despues un . y la ultima me dice que recibe cualquier caracter de la a-z o de la A-Z de 2 a 4 caracteres todo esto si lo entiendo
entonces el correo valido seria asi
[email protected] por un ejemplo
lo que ya no entiendo seria esta parte cuando ingresaron este correo no me marco error
ejemplo
[email protected]
no hay error pero mi logica esta chocando para poder entender por que no marco error.
segun yo mi expresion solo valida un . despues del proveedor del servicio ya no valida mas puntos entonces la verdad no entiendo espero que me ayuden
perdon por escribir mucho pero creo que solo asi explicando todo se entenderia mejor
graciasss por su comprension saludosss espero que me ayuden