Enlaces patrocinados:

Trucos de Visual Basic 6.0 Validar un número de tarjeta de crédito (ISO 2894)

En una aplicación de comercio electrónico o una aplicación que necesite validar el número de una tarjeta de crédito, se puede hace uso del algoritmo ISO 2894. Este algoritmo permite comprobar que la numeración de la tarjeta es correcta, pero obviamente no indica si la tarjeta sigue siendo válida (no ha sido anulada, ha caducado, etc.).


A continuación, se muestra el código Visual Basic para comprobar la validez en la numeración de una tarjeta de crédito:


Cree un nuevo proyecto en Visual Basic y añada una caja de texto y un botón.



Pegue el siguiente código:
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' Valida la tarjeta de crédito de acuerdo con el algoritmo ISO 2894
' El algoritmo es:
' 1. Calcular el peso para el primer dígito: si el número de dígitos
' es par el primer peso es 2 de lo contrario es 1. Después los
' pesos alternan entre 1, 2, 1, 2, 1 ...
' 2. Multiplicar cada dígito por su peso
' 3. Si el resultado del 2º paso es mayor que 9, restar 9
' 4. Sumar todos los dígitos
' 5. Comprobar que el resultado es divisible por 10
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Function EsCCValido(sTarjeta As String) As Boolean
Dim iPeso As Integer
Dim iDigito As Integer
Dim iSuma As Integer
Dim iContador As Integer
Dim sNuevaTarjeta As String
Dim cCaracter As String * 1


    iPeso = 0
    iDigito = 0
    iSuma = 0


    'Reemplazar cualquier no digito por una cadena vacía
    For iContador = 1 To Len(sTarjeta)
        cCaracter = Mid(sTarjeta, iContador, 1)
        If IsNumeric(cCaracter) Then
            sNuevaTarjeta = sNuevaTarjeta & cCaracter
        End If
    Next iContador


    ' Si es 0 devolver Falso
    If sNuevaTarjeta = 0 Then
        EsCCValido = False
        Exit Function
    End If


    ' Si el número de dígitos es par el primer peso es 2, de lo
    ' contrario es 1
    If (Len(sNuevaTarjeta) Mod 2) = 0 Then
        iPeso = 2
    Else
        iPeso = 1
    End If


    For iContador = 1 To Len(sNuevaTarjeta)
        iDigito = Mid(sNuevaTarjeta, iContador, 1) * iPeso
        If iDigito >; 9 Then iDigito = iDigito - 9
        iSuma = iSuma + iDigito
        ' Cambiar peso para el siguiente dígito
        If iPeso = 2 Then
            iPeso = 1
        Else
            iPeso = 2
        End If
    Next iContador


    ' Devolver verdadero si la suma es divisible por 10
    If (iSuma Mod 10) = 0 Then
        EsCCValido = True
    Else
        EsCCValido = False
    End If


End Function


Private Sub btnComprobarCC_Click()
    If EsCCValido(Text1) Then
        MsgBox "Tarjeta válida"
    Else
        MsgBox "Tarjeta inválida"
    End If
End Sub



Ejecute la aplicación. En la caja de texto introduzca el número de la tarjeta de crédito y pulse el botón de comprobación. Puede probar con 4242 4242 4242 4242 que es un número válido.


Comentarios sobre Validar un número de tarjeta de crédito (ISO 2894)


ailen dice:

porfavor necesito un numero valido de tarjeta valida porfavor mandenmen eso porfis ailen
Comentario publicado 30/06/2010 0:26:00

pikitochico dice:

me puedes volver a explicar la parte del sandwich volador o:?!
Comentario publicado 29/07/2010 20:34:00

vale dice:

no pues que elegancia
Comentario publicado 26/08/2010 1:38:00

josefa.r.q@hotmail.com dice:

estupidos:p tontos:)
Comentario publicado 15/10/2010 22:19:00

Rafael dice:

oye agregame y dame un numero falso es para un juego
Comentario publicado 18/12/2010 9:55:00

celinette dice:

por favor denme un numero valido pARA UN JUEGO DE CLUBPEGUIN.COM
Comentario publicado 25/12/2010 20:41:00

jair snaider dice:

porfa vor denme un numero valido para un juego de CLUB PENGUIN
Comentario publicado 28/12/2010 18:38:00

milagros dice:

deeme un numero de tarjeta par aser superstar en stardolll por favorrr
Comentario publicado 30/12/2010 18:52:00

valentina dice:

un numero falsoe de una targeta porfavor nesecito algo en un juego
Comentario publicado 09/01/2011 1:10:00

Noelia dice:

deme un numero porfaa eske es para el habbo
Comentario publicado 15/01/2011 13:26:00

adrizpr dice:

denme un numero de targeta valido para un juego llamado clubpenguin.com
Comentario publicado 29/01/2011 22:40:00

alejo dice:

amigo dame un numero valido de tarjeta de credito porfis si
Comentario publicado 27/02/2011 0:43:00

lola dice:

necesito un numero de tarjeta falso para un juego
Comentario publicado 21/03/2011 4:53:00

Pepe dice:

Deberíamos aprender a escribir aparte de validar tarjetas de crédito nesecito------>necesito targeta------->tarjeta
Comentario publicado 14/04/2011 4:36:00

dayanna dice:

porfa ayuden con el numero de la targeta la necesito
Comentario publicado 20/04/2011 18:42:00

dani dice:

necesito una clave para el juegos mundo gaturrode targeta de credito visa
Comentario publicado 29/04/2011 3:59:00

sassss dice:

hola a todas/os necesito un numero de tarjeta de juego ffalso no in porta porfavor rapido por que lo nesesito para un juego una targeta de credito que tiene que (VISA) porfaVOR gracias
Comentario publicado 09/06/2011 6:56:00

JULISSA dice:

demen un numero de tarjeta de credito para un juego de clubpenguin que sea valido please
Comentario publicado 15/06/2011 19:23:00

Maximiliano Mérida dice:

no pidan números de tarjetas válidos eso es delito
Comentario publicado 07/07/2011 23:26:00

lalo dice:

están bien follados del culo esa mamada que. eso no se puede hacer solo mandando msm es la única manera pendejos si quieren hacer trampa en un juego no se puede graben celo en sus huevos
Comentario publicado 09/08/2011 23:41:00
Dejar un comentario

Nombre:

Mail:

Web:

Comentario:

Código de seguridad

Captcha

Inserta el código de seguridad