Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

VÉRIFICATION CB ET EUROCARD


Information sur la source



Description

une simple classe pour vérifier les numéros de visa ou d'eurocard

 

Source

  • Namespace ecommerce
  • Public Class Valide_CB
  • Private tmp_digits As String = "0123456789"
  • Public Function CardValidate(ByVal DDLtypeCarte As String, ByVal TxtNumCarte As String) As Boolean
  • Dim bValid As Boolean
  • If (DDLtypeCarte = "VISA" Or DDLtypeCarte = "CarteBleue") Then
  • Dim totalcarte As Integer = 0
  • Dim increment As Integer = 0
  • If Len(TxtNumCarte) <> 16 Then
  • bValid = False
  • Exit Function
  • End If
  • Dim i As Integer
  • Dim numero As Integer
  • For i = Len(TxtNumCarte) To 1 Step -1
  • numero = CInt(Mid(TxtNumCarte, i, 1))
  • increment = increment + 1
  • If increment Mod 2 <> 0 Then
  • totalcarte = totalcarte + numero
  • Else
  • numero = numero * 2
  • If numero >= 10 Then
  • totalcarte = totalcarte + 1 + numero - 10
  • Else
  • totalcarte = totalcarte + numero
  • End If
  • End If
  • Next
  • If totalcarte Mod 10 <> 0 Then
  • bValid = False
  • Else
  • bValid = True
  • End If
  • ElseIf DDLtypeCarte = "EuroCard" Then
  • bValid = True
  • Dim number As String = ""
  • ' make sure there are only numbers in the string...
  • number = fKeepOnlyDigits(TxtNumCarte)
  • Dim chiffre1 As String = Mid(number, 1, 1)
  • Dim chiffre2 As String = Mid(number, 2, 1)
  • Dim longueur As Integer = Len(number)
  • If chiffre1 <> "5" Or chiffre2 < "1" Or chiffre2 > "5" Then
  • bValid = False
  • End If
  • '--| anne : longueur du numero carte > 16
  • 'if longueur = 16 then
  • If longueur <> 16 Then
  • bValid = False
  • End If
  • End If
  • Return bValid
  • End Function
  • Public Function fKeepOnlyDigits(ByVal TxtNumCarte As String) As String
  • Dim sResults As String = TxtNumCarte
  • Dim i As Integer = 1
  • While i <= Len(sResults)
  • If InStr(tmp_digits, Mid(sResults, i, 1)) > 0 Then
  • i = i + 1
  • Else
  • sResults = Left(sResults, i - 1) + Mid(sResults, i + 1)
  • End If
  • End While
  • Return sResults
  • End Function
  • End Class
  • End Namespace
Namespace ecommerce

    Public Class Valide_CB

        Private tmp_digits As String = "0123456789"

        Public Function CardValidate(ByVal DDLtypeCarte As String, ByVal TxtNumCarte As String) As Boolean
            Dim bValid As Boolean

            If (DDLtypeCarte = "VISA" Or DDLtypeCarte = "CarteBleue") Then
                Dim totalcarte As Integer = 0
                Dim increment As Integer = 0

                If Len(TxtNumCarte) <> 16 Then
                    bValid = False
                    Exit Function
                End If
                Dim i As Integer
                Dim numero As Integer
                For i = Len(TxtNumCarte) To 1 Step -1
                    numero = CInt(Mid(TxtNumCarte, i, 1))
                    increment = increment + 1

                    If increment Mod 2 <> 0 Then
                        totalcarte = totalcarte + numero
                    Else
                        numero = numero * 2
                        If numero >= 10 Then
                            totalcarte = totalcarte + 1 + numero - 10
                        Else
                            totalcarte = totalcarte + numero
                        End If
                    End If
                Next

                If totalcarte Mod 10 <> 0 Then
                    bValid = False
                Else
                    bValid = True
                End If
            ElseIf DDLtypeCarte = "EuroCard" Then
                bValid = True
                Dim number As String = ""
                ' make sure there are only numbers in the string... 
                number = fKeepOnlyDigits(TxtNumCarte)
                Dim chiffre1 As String = Mid(number, 1, 1)
                Dim chiffre2 As String = Mid(number, 2, 1)
                Dim longueur As Integer = Len(number)
                If chiffre1 <> "5" Or chiffre2 < "1" Or chiffre2 > "5" Then
                    bValid = False
                End If
                '--| anne : longueur du numero carte > 16
                'if longueur = 16 then
                If longueur <> 16 Then
                    bValid = False
                End If
            End If
            Return bValid
        End Function

        Public Function fKeepOnlyDigits(ByVal TxtNumCarte As String) As String
            Dim sResults As String = TxtNumCarte
            Dim i As Integer = 1
            While i <= Len(sResults)
                If InStr(tmp_digits, Mid(sResults, i, 1)) > 0 Then
                    i = i + 1
                Else
                    sResults = Left(sResults, i - 1) + Mid(sResults, i + 1)
                End If
            End While
            Return sResults
        End Function
    End Class

End Namespace

Commentaires et avis

signaler à un administrateur
Commentaire de multipac le 28/06/2005 10:48:41

On aurait bien aimé trouver un commentaire afin d'expliquer les procédures et leur intégration dans une application !!
JA suis dans le domaine des cartes de paiement, donc intéréssé par ce module.

signaler à un administrateur
Commentaire de AbriBus le 28/06/2005 14:47:49

Salut,
Moi je suis pas dans le domaine en question mais je suis de nature curieuse. Voila mes remarques:
1/ Tout d'abord, je suis d'accord avec MULTIPAC cette source manque cruellement de commentaires (au passage on remarque qu'une ligne n'est pas commentée en francais... la source est de toi ?). Bref dommage de faire un prog interressant comme celui ci (et innovant de surcroit) sans vraiment dire pourquoi par le biais des commentaires.
2/ Comme je disais, je ne suis pas dans le domaine du télépayement mais je suis curieux de savoir ou tu as pu trouver la procedure de vérification... ne serait-ce que pour rendre un peu plus "serieux" le post de la source...
Sinon... créativité 10/10... j'attend de voir pour metre la note...

AbriBus

signaler à un administrateur
Commentaire de multipac le 28/06/2005 16:25:35

A vrai dire, Je n'ai pas testé ces procédures.
Juste en lisant le code, je ne confirme pas le 10/10 en terme de créativité M. ABRIBUS.
D'abord un numéro de carte n'est pas limité à 16 chiffres.
En plus si c'est bon en terme de clé luhn, il faut alors vérifier la validité selon l'émetteur de la carte ( Institution émettrice ), si encore c'est bon, il faut le vérifier selon des tables de BINs de chez VISA et MASTERCARD.

signaler à un administrateur
Commentaire de AbriBus le 28/06/2005 16:55:22

En fait, quand je parle de la créativité, je remercie ici l'auteur de n'avoir pas posté une source (de plus) qui soit ou un chat, ou un mailsender ou encore comme j'ai vu recemment un convertisseur ASCII <=> Char (je parle pas des convertisseurs euro)
La validité de l'emmeteur doit pouvoir etre vérifié mais je peux dire ici que tout les systemes de télépaiement ne le font pas... et un truc qu'il ne font jamais c'est de vérifier la validité de la carte ET de l'emmeteur en meme temps ce qui pose probleme pour les vrais cartes, avec le vrai nom de son détenteur dessus... et vraiment volée... le seul moyen d'y parvenir est d'avoir une liaison avec la banque concernée... bien sur, je suis d'accord avec [vous], on en est pas encore la bien loin de la. Je maintient donc ce que j'ai dit sur mon premier post, et souligne une nouvelle fois, je ne suis pas dans le secteur banquaire donc bien sur mes critères d'évaluations sont probablement tres différents des [votres] M. MULTIPAC.

AbrIBAN

signaler à un administrateur
Commentaire de debourgeois le 03/02/2006 18:15:18

salut j'ai un key logger et je voudrais savoir comment faire pour espionner l'ordinateur de ma femme juste en lui envoyant un mail .
si quelqu'un a la réponse qu'il me la donne

Merci d'avance  

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

clé compte bancaire [ par JAR ] Je cherche un moyen de calculer la clé rip d'un compte bancaire, postal ou épargne.Je tiens à préciser que c'est dans un but professionnel et privé.Ca verification de controle [ par eddy ] mon projet de compose d'1 textbox et d'1 bouton valider.Je n'ai qu'une seule fonction: Valider_click().Lorsque l'utilisateur clique sur valider je lui fonction pour verifier la validite d'une adresse email [ par ricc ] vous connaitriez pas une petite fonction sympa pour verifier la validite d'une adresse email?merci8D Programme de transction intra-bancaire [ par Niaphrons ] Bonjour, je viens de crée un prog de transfers de fonts, je ch au moins 5 testeurs, serieux de prefs, mérci de répondre directement sur le forum ceux probleme urgent avec validite de date [ par tibops ] bonjour, j'ai un gros probleme pour verifier la validite d'une date, genre le 30 fevrier n'existe pas!sans bien sur passer par 100 lignes de codes.dav if c<>b.... HELLLLPPPPP [ par deneration ] Voici une partie de mon code, vu que le prog ne marchait pas j'ai mis un msgbox pour comprendre.(les variables c et b sont des integer, celles-ci sont Verification fichier excel [ par Fredmane ] SLT,Existe t'il un moyen de verifier la compatibilité d'un fichier excel, pour savoir avec quelle version d'excel (95,97,2000,XP,autres; MAC ou PC) il Verification de nom [ par Tayelik ] BonjourJe voudrais savoir s'il était possible d'utiliser la fonction de vérification de nom d'Outlook dans un programme en VB et si oui quelle serait Je voudrai bien apprendre le CB ;) [ par KOLANTA ] Salut tout le monde, je souhaiterai apprendre le VB. Comme ça c'est clair, en effet je pratique un peu l'IRC mais je voudrai faire un truc un peu plus verification base de registre lors du deploiement d'une appli [ par dardarmotus ] dardarmotus Je suis confronté encore une fois à un problème et je demande l'aide des pros de VB.Je veux verifier par un petit code VB :


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,780 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.