Hola, qué tal, alguien me ayuda porfa? grx =)
if(!preg_match("/[]+@[]+.[]/", $correo))
{
echo "estructura incorrecta";
}
else
{
echo "estructura correcta";
}
Dentro de [] quiero que se pueda escribir cualquier cosa, sin normas.
Ejemplo: ola[{(_-/*@sw5&.Dq1æ♀↓
El problema es que no me funciona.
es porque le dices justo lo contrario, que no hay nada
para coincidir cualquier cosa usa . (punto) y luego + par que sea una cosa cualquier o más... ojo que tienes un punto y debes escaparlo
es decir
.+@.+\..+
recomiendo usar una regla más estricta
Gracias, tengo una duda con lo de escapar, si quisiese escapar por ejemplo:
\s (las 2 cosas por separado)
tendria que poner \\s
???
---
Otra pregunta:
En este caso para un correo normal.
if(!preg_match("/[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+\.[a-zA-Z]+/", $correo))
{
echo "estructura incorrecta";
}
else
{
echo "estructura correcta";
}
Probé a escribir aaa@aaa.a&a
Y me sale que es correcto cuando no deberia de serlo.
tu le dijiste a php que buscara basado en
[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+\.[a-zA-Z]+
aaa@aaa.a&a
y si lo consiguó, consiguió -> aaa@aaa.a
tienes que hacerlo más estricto... ^ significa inicio de texto y $ fin
^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+\.[a-zA-Z]+$
te recomiendo esto
https://regex101.com/ (https://regex101.com/)
Gracias.