elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Expresión regular
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 3 Ir Abajo Respuesta Imprimir
Autor Tema: Expresión regular  (Leído 19,430 veces)
IWKY

Desconectado Desconectado

Mensajes: 272



Ver Perfil
Expresión regular
« en: 23 Enero 2010, 22:44 pm »

Hola, he encontrado esta expresión regular para validar direcciones de correos electrónicos por la web, pero creo que no validaría bien todos los correos electrónicos.

Original:
Código:
'/^[^0-9][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[@][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[.][a-zA-Z]{2,4}$/'

Creo que así funcionaría mejor, ¿qué decís?
Corregido:
Código:
'/^[^0-9][a-zA-Z0-9_]+([.][-][a-zA-Z0-9_]+)*[@][a-zA-Z0-9_]+([.][-][a-zA-Z0-9_]+)*[.][a-zA-Z]{2,4}$/'

NOTA: fijaos que he añadido [-] después de [.], es que no se como remarcarlo para que se vea claro.



En línea

Por internet libre http://red-sostenible.net/
El mejor momento de Dragon Ball Z --> Aqui
~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: Expresión regular
« Respuesta #1 en: 23 Enero 2010, 23:23 pm »

Aver, pon ejemplo un de un correo, porque usas tantas cosas innecesarias que creo que no es un correo común xD.

Poner un ejemplo del correo y decir que parte del correo necesitas sacar...

Porque estas gastando recursos innecesarios.

Saludos.


En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
IWKY

Desconectado Desconectado

Mensajes: 272



Ver Perfil
Re: Expresión regular
« Respuesta #2 en: 24 Enero 2010, 00:00 am »

No es que quiera sacar una parte concreta, simplemente validar un correo, vamos que no pongan caracteres extraños, un ejemplo seria...

esto.esun_ejemplo.de-correo@deun-servior.com.com.es
En línea

Por internet libre http://red-sostenible.net/
El mejor momento de Dragon Ball Z --> Aqui
raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Expresión regular
« Respuesta #3 en: 24 Enero 2010, 00:03 am »

Esa expresion regular no funcionaria bien, porque estas obligando al usuario a tener un mail con ".-" o sin el, debias ponerlo en el mismo delimitador "[.-]", a parte tambien separa el "_" de las letras, porque funcionaria con "raul___338@elchacker.net" jaja xD

Código:
'/^[^0-9][a-zA-Z0-9_]+([.-_][a-zA-Z0-9]+)*[@][a-zA-Z0-9_]+([.-][a-zA-Z0-9_]+)*[.][a-zA-Z]{2,4}$/'

Ahi practicamente deberia funcionar con todos ;)


Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje

Con ese correo funciona, ya me fije :P
« Última modificación: 24 Enero 2010, 00:04 am por raul338 » En línea

IWKY

Desconectado Desconectado

Mensajes: 272



Ver Perfil
Re: Expresión regular
« Respuesta #4 en: 24 Enero 2010, 00:09 am »

Gracias, es que me estoy iniciando en las expresiones regulares y aún no se muy bien como funcionan del todo.

Otra consulta, los correos electrónicos pueden tener las siguientes formas o alguna combinación de ellas ¿Cual de estas combinaciones no es correcta?:

ejemplo_correo-@server.com
ejemplo@mi_server-raro.com
-ejemplo-@server.com
123server@123.com
user_@_server.com
_user_@_server_.com


Vamos en definitiva que no se donde mirar como se rige un correo electrónico.
« Última modificación: 24 Enero 2010, 00:22 am por IWKY » En línea

Por internet libre http://red-sostenible.net/
El mejor momento de Dragon Ball Z --> Aqui
raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Expresión regular
« Respuesta #5 en: 24 Enero 2010, 00:18 am »

entonces haz una expresion mas simple
Código:
^[\w\.\-\_]+\@[\w\.\-\_]+\.\w{2,4}$

para que te vas a romper la cabeza intentando poner miles de formas raras??? .... esa expresion funciona con todos los mails que pusiste
pero ... (segun que yo sepa) estos correos no son validos:

123server@123.com
_user_@_server_.com
-ejemplo-@server.com

y en caso de que quieras una expresion regular que no valide esos correos, aqui tienes una:

Código:
^[a-zA-Z][\w\.\-\_]+\@[\w\.\-\_]+\.\w{2,4}$
En línea

~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: Expresión regular
« Respuesta #6 en: 24 Enero 2010, 00:29 am »

Código:
/([a-z0-9_.-]+)@([a-z0-9_-]+)\.\w{2,3}/i
Bueno esta es la mía, le pongo el operador i al final que dice que ignore el uso de mayúscula y minúscula.

Tampoco es necesario poner
Código:
[\w\.\-\_]
si con
Código:
[\w.-_]
Estas haciendo lo mismo.
La de raul338  parece una exprecion regular ofuscada jajaja.

Saludos.
« Última modificación: 24 Enero 2010, 00:31 am por yoyahack » En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
IWKY

Desconectado Desconectado

Mensajes: 272



Ver Perfil
Re: Expresión regular
« Respuesta #7 en: 24 Enero 2010, 00:31 am »

entonces haz una expresion mas simple
Código:
^[\w\.\-\_]+\@[\w\.\-\_]+\.\w{2,4}$

para que te vas a romper la cabeza intentando poner miles de formas raras??? .... esa expresion funciona con todos los mails que pusiste
pero ... (segun que yo sepa) estos correos no son validos:

123server@123.com
_user_@_server_.com
-ejemplo-@server.com

y en caso de que quieras una expresion regular que no valide esos correos, aqui tienes una:

Código:
^[a-zA-Z][\w\.\-\_]+\@[\w\.\-\_]+\.\w{2,4}$

Bueno había un error en mi ultimo post, ya esta corregido, en cuanto a la segunda expresión
Código:
^[a-zA-Z][\w\.\-\_]+\@[\w\.\-\_]+\.\w{2,4}$
Hay un par de cosas que no tengo claro,  a ver si me puedes ayudar.
^ -> inicio de la cadena
[a-zA-Z] -> solo contiene letras minúsculas y mayúsculas
[\w\.\-\_]+ -> se pueden repetir 1 o más veces caracteres alfanumericos, el ., el - y el _, ¿La \w no engloba a [a-zA-Z0-9_]? si es así sobra el \_
\@ -> caracter arroba
[\w\.\-\_]+ -> Lo mismo que en el de arriba
\. -> caracter .
\w{2,4} -> Dominio de 2 a 4 caracteres, ¿Si \w es alfanumerico incluyendo _? validaría dominios erróneos, ¿no?
$ -> Fin de la cadena
« Última modificación: 24 Enero 2010, 00:44 am por IWKY » En línea

Por internet libre http://red-sostenible.net/
El mejor momento de Dragon Ball Z --> Aqui
~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: Expresión regular
« Respuesta #8 en: 24 Enero 2010, 00:40 am »

Esta exprecion no es muy confiable:
Código:
^[a-zA-Z][\w\.\-\_]+\@[\w\.\-\_]+\.\w{2,4}$
Ya que primero dice que si al principio aparecen palabras en mayuscula o minuscula y si al principio no hay palabras si no numero no funcionara la exprecion regular como deberia de ser.
En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
IWKY

Desconectado Desconectado

Mensajes: 272



Ver Perfil
Re: Expresión regular
« Respuesta #9 en: 24 Enero 2010, 00:46 am »

O sea una entrada de este estilo
Código:
123mail@mail.com
, para eso supondo que se debería de añadir lo siguiente al inicio [^0-9]
quedando así las expresión
Código:
^[^0-9][a-zA-Z][\w\.\-\_]+\@[\w\.\-\_]+\.\w{2,4}$
En línea

Por internet libre http://red-sostenible.net/
El mejor momento de Dragon Ball Z --> Aqui
Páginas: [1] 2 3 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con Expresión Regular
Desarrollo Web
Shell Root 4 4,116 Último mensaje 10 Abril 2011, 22:26 pm
por Shell Root
Aplicar expresión regular en el resultado de un curl
PHP
Servia 3 3,480 Último mensaje 28 Agosto 2011, 14:11 pm
por WHK
ayuda con una expresion regular :(
Programación General
Elemental Code 6 4,102 Último mensaje 23 Mayo 2012, 04:10 am
por Elemental Code
duda sobre patron de expresion regular
Programación General
MagnusIvanovich 5 3,046 Último mensaje 14 Marzo 2013, 20:11 pm
por 1mpuls0
Ayuda Expresion Regular
Ingeniería Inversa
macmaikel 2 2,340 Último mensaje 11 Junio 2013, 03:36 am
por macmaikel
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines