![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
¿Esta es aún mejor que las que hay utilizando Expresiones Regulares?, si es así... ¿Cuál sería la razón?
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!" http://www.purodelphi.com/ http://www.nosolodelphi.com/ |
|
#2
|
|||
|
|||
|
No veo por qué esa función sería mejor que una buena expresión regular. Me parece que lo complicas demasiado para nada.
|
|
#3
|
||||
|
||||
|
El codigo aqui es una maquina de estado. Una expresion regular eso es lo que genera (en formato DFA), aunque existe una mejor manera si no hay necesidad de backtraking:
https://swtch.com/~rsc/regexp/regexp1.html Osea: Es codigo especifico hecho a mnos, presumiblemente (porque faltaria chequearlo) mas eficiente que el generado a maquina... y ademas no tienen dependencias...
__________________
El malabarista. |
|
#4
|
|||
|
|||
|
NO, que NO y que NO!
Definitivamente como hay otros compañeros que han objetado, hay maneras mucho mas sencillas para validar un correo electronico, y en cuanto a validación se refiere RegEX (Expresión Regular) es la mejor solución/opción al caso.
Con muy poco esfuerzo podremos tener un verificador de Correos Electronicos en unos pocos minutos. Requerimientos: Código:
Libreria: TPerlRegEx Código:
(x1) Edit = edt1 (x1) Botón = btn1 (x1) Label = lbl1 Código:
var parser: TPerlRegEx; list: TStringList; found: boolean; str: string; i: Integer; strToMatch: string; Código:
try
list := TStringList.Create;
try
parser := TPerlRegEx.Create;
try
parser.RegEx := '(^[\w-]+(?:\.[\w-]+)*@(?:[\w-]+\.)+[a-zA-Z]{2,7}$)';
strToMatch := edt1.Text;
parser.Subject := strToMatch;
found := parser.Match;
if found = True then
begin
lbl1.Caption := 'VALIDO!';
end
else
begin
lbl1.Caption := 'INVALIDO!';
end;
finally
parser.Free;
end;
finally
list.Free;
end;
except
on E: Exception do
Application.MessageBox(PChar(E.Message),'Verificador de Correos Electronicos', MB_OK);
end;
![]() Cabe mencionar que la Expresión Regular que se utiliza en este caso, identifica y reconoce el 99.99% de los Correos Electronicos! |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
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 |
|