FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Pues yo prefiero el código en Pascal a las expresiones regulares. Principalmente porque me he leído chorrocientosmil artículos, tutoriales y cursos que prometían enseñar fácilmente cómo funcionan, y sigo sin tener ni pajolera idea, porque siempre que he creído entenderlo he intentado crear una y jamás lo he conseguido. Como mucho, he conseguido hacer algún cambio (pequeño) a alguna expresión regular pre-existente, pero nada más.
Además, es código escrito por Ernesto D'Spirito y eso ya me vale. ¡Anda que no he aprendido cosas gracias al trabajo de ese hombre! |
#2
|
||||
|
||||
Cita:
Código:
parser.RegEx := '(^[\w-]+(?:\.[\w-]+)*@(?:[\w-]+\.)+[a-zA-Z]{2,7}$)'; Cita:
Cita:
Cita:
|
#3
|
||||
|
||||
Sí, no son fáciles, pero tampoco son imposibles. Para mi, una expresión regular es de sólo-escritura, las puedes escribir conforme las vas creando pero cuesta trabajo leerlas.
Yo, para validar emails uso esta: Código:
/^[A-Z0-9_-]+(\.[A-Z0-9_-]+)*@[A-Z0-9_-]+(\.[A-Z0-9_-]+)*\.[A-Z]{2,3}$/i Código:
/^[A-Z0-9_-]+(.[A-Z0-9_-]+)*@[A-Z0-9_-]+(.[A-Z0-9_-]+)*.[A-Z]{2,3}$/i Luego vas separando las partes: 1. Código:
Uno o más de los caracteres dentro de los corchetes (letras, números, guiones bajos y medios): [A-Z0-9_-]+(.[A-Z0-9_-]+)*@[A-Z0-9_-]+(.[A-Z0-9_-]+)*.[A-Z]{2,3} Código:
0 o más veces lo que está entre paréntesis (un punto seguido de uno o más letras, números o guiones): [A-Z0-9_-]+(.[A-Z0-9_-]+)*@[A-Z0-9_-]+(.[A-Z0-9_-]+)*.[A-Z]{2,3} Código:
La arroba @ [A-Z0-9_-]+(.[A-Z0-9_-]+)*@[A-Z0-9_-]+(.[A-Z0-9_-]+)*.[A-Z]{2,3} Código:
Uno o más de letras, números o guiones (como en 1.) [A-Z0-9_-]+(.[A-Z0-9_-]+)*@[A-Z0-9_-]+(.[A-Z0-9_-]+)*.[A-Z]{2,3} Código:
Igual que en 2. [A-Z0-9_-]+(.[A-Z0-9_-]+)*@[A-Z0-9_-]+(.[A-Z0-9_-]+)*.[A-Z]{2,3} Código:
Un punto seguido de 2 o tres letras: [A-Z0-9_-]+(.[A-Z0-9_-]+)*@[A-Z0-9_-]+(.[A-Z0-9_-]+)*.[A-Z]{2,3} Antes de la arroba: uno o más identificadores separados por puntos Después de la arroba: uno o más identificadores separados por puntos y dos o tres letras separadas del resto por un punto (o sea, el .com, .org, .mx, etc.) Y, de hecho, es de esta representación conceptual de donde parte uno y de ahí vas construyendo la expresión. Lo que uno tiene que tener en cuenta es:
Por ejemplo, la expresión regular que uso, seguramente fallará en algunos casos, pero me ha funcionado sin problemas hasta ahora y a lo sumo tendré un usuario cada dos años que me diga: oye tu sistema no acepta mi correo. Nadie abarca todos los casos. Ni siquiera GMail (que es de donde basé mi expresión). Por ejemplo, ¿sabían que el RFC del email incluye comentarios ? Estoy seguro que nadie valida eso . También es cierto que hay expresiones más complejas que incluye las referencias hacia atrás y hacia adelante pero las va uno entendiendo conforme escribes la expresión. El manual de PHP explica muy claramente el uso de expresiones PCRE, que son las más comunes y puede aplicarse a otros ámbitos como Delphi. LineComment Saludos |
#4
|
||||
|
||||
Román: ¡Eso amerita like, tweet, picarle al botón reputación, puntos adicionales de poder y una Montejo! (O la cerveza que usted prefiera).
Gracias por el esmerado aporte. |
#5
|
||||
|
||||
Con la cerveza me basta Victoria, por favor
LineComment Saludos |
#6
|
||||
|
||||
De hecho, ahora que lo veo, la expresión de 0x90 es muy parecida. Sólo que él usa \w donde yo uso a-z0-9_ pues éso es lo que significa \w. No recuerdo por qué puse la expresión larga, pero creo que porque JavaScript no aceptaba el \w.
LineComment Saludos |
#7
|
||||
|
||||
#9
|
||||
|
||||
Cita:
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Error: too much mail from (dirección ip) enviando correo masivo | Gregorio Cíber | Internet | 2 | 10-07-2015 13:43:48 |
Como Saber si una Dirección de Correo es Válida???? | AGAG4 | Internet | 30 | 19-07-2011 18:36:48 |
Pueden Ver Mi Direccion De Correo? | CITHALI ACERMA | Seguridad | 12 | 18-06-2006 22:49:15 |
El correo que mando a una direccion de hotmail no llega bien | URBANO | Internet | 1 | 27-04-2005 07:53:49 |
Ejecutar cliente de correo pasandole la direccion del destinatario | Durbed | API de Windows | 1 | 19-10-2004 12:34:00 |
|