Validación De Email Y DNI??


Objetivo: Validación De Email Y DNI??
Buenas!, siento abrir en un mismo post dos preguntas, pero creo que se parecen lo suficiente como para preguntar a la vez.... encontré ejemplo de validar que un textbox solo sean letras, solo numeros o ciertos numeros especiales, pero, no encontre ningun ejemplo sobre el DNI ni los Emails algun sitio donde echar un vistazo? ^^

Como siempre, Gracias!

Objetivo: Re: Validación De Email Y DNI??
Hola.

Mira este post que dejó el usuario DEATH. Es para validar el R.U.T de Chile, pero creo que podría servirte para el DNI.
http://foro.gambas-es.org/viewtopic.php?f=5&t=85&highlight=rut

Saludos

Perfil MP  
Objetivo: Re: Validación De Email Y DNI??
Hola

Cuando hablas de los DNI (para los usuarios de fuera de España, Documento Nacional de Identidad), ¿te refieres a validar la secuencia numérica con la letra del final?

Si es así, creo que la rutina de validación es de dominio público, pero entiendo que sólo podría validarse una vez se hayan introducido todos los caracteres. Si bien mediante expresiones regulares se puede chequear que el formato sea adecuado, es decir, una cifra de 8 dígitos + una letra final, sólo si esta condición es verdadera al perder el foco el control podrías validar matemáticamente el DNI, mediante el evento _LostFocus().

Para validar un email correcto (si entendemos por correcto un identificador con un punto en medio o no, seguido de una @ y seguido de un dominio, que también puede contener uno o dos puntos), entonces es posible hacerlo también con expresiones regulares desde el manejador de evento _Change().

Las Regexp (expresiones regulares) son un mundo aparte y es una de las herramientas más potentes que existen para estos menesteres, ampliamente utilizadas en cualquier lenguaje, sobre todo Perl. Recomiendo su aprendizaje, porque te aseguro que enganchan.

Prueba esto para el tema del email:
PRIVATE FUNCTION chkEmail(email AS String) AS Boolean

email = Trim(email)
IF email THEN
regx = NEW Regexp(email, "^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$")
IF regx.Text THEN
RETURN TRUE
ELSE
RETURN FALSE
ENDIF
ENDIF

END


Luego en el evento Change de tu textbox:

PUBLIC SUB txtEmail_Change()

IF txtEmail.Text THEN
IF chkEmail(txtEmail.Text) THEN
txtEmail.ForeColor = Color.Black
ELSE
txtEmail.ForeColor = Color.Red
ENDIF
ENDIF

END


Si la dirección de email es correcta, se verá el texto en negro, en caso contrario aparecerá en rojo.

------------------------------------------------------------------------------

Para el tema del DNI, cambia la cadena de la Regexp por algo así:

"^\\d{6,8}[A-Z]$"


Pero no olvides validar la letra correcta del DNI:

Debes coger sólo los dígitos (sin la letra) y calcular el MOD (módulo) de dividir entre 23

DIM testDNI as Integer
DIM letra as String

testDNI = val(textboxDNI.Text, len(textboxDNI.Text) - 1) MOD 23

SELECT CASE testDNI
CASE 0
letra = "T"
CASE 1
letra = "R"
'.......
END SELECT


Así sucesivamente con todos los valores hasta 22

Luego has de comparar la letra introducida con la resultante del cálculo. En Google encontrarás las correspondencias del resto de la división con las letras.

Creo que tienes trabajo por hacer, comenta tus resultados.

Saludos

Perfil MP  
Objetivo: Re: Validación De Email Y DNI??
El DNI en España, desde hace algunos años lleva al final una letra que sirve de control para comprobar que el número del DNI se ha tecleado correctamente. Para comprobar un número de DNI, tan solo hay que dividir el número entre 23 y obtener el resto de la división. La letra que acompaña al número del DNI se obtiene de ese resto según la siguiente tabla:

00 T
01 R
02 W
03 A
04 G
05 M
06 Y
07 F

08 P
09 D
10 X
11 B
12 N
13 J
14 Z
15 S

16 Q
17 V
18 H
19 L
20 C
21 K
22 E



Ejemplo: Queremos saber si el DNI 12345678-Z se ha tecleado correctamente.

Dividimos 12345678 entre 23. El resto de la división es 14. La letra que le corresponde es Z, con que probablemente se ha tecleado bien.

NOTA:El NIF (número de identificación fiscal) sigue el mismo algoritmo

NOTA2: Buscado en Google. No soy el autor del texto.

Objetivo: Re: Validación De Email Y DNI??
Gran aportación, capa, la verdad es que para casi cualquier aplicación de clientes, facturación, etc. hace falta.

Muchas gracias, campeón, como siempre genial.

Salu2, cracks.

Perfil MP  
Objetivo: Re: Validación De Email Y DNI??
Creo que después del :

Citar:
"Hola Mundo"


y del

Citar:
Escribe tu nombre:
Pepe
Hola Pepe


Este es el ejercicio más frecuente en clase, comprobar que el DNI sea correcto


Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 6.5499s (PHP: -99% SQL: 199%)
Consultas SQL: 45 - Debug off - GZIP Activado