IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

question bancaire !


Sujet :

JavaScript

  1. #1
    Membre éclairé
    Avatar de clio671
    Profil pro
    Développeur Web
    Inscrit en
    Février 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2007
    Messages : 203
    Par défaut question bancaire !
    Bonjour,

    Question pour orienter mes recherches :

    Quand on rentre un numéro de carte bancaire dans un champ intéractif, avec quel langage peut on vérifier que le numéro n'excéde pas 16 chiffres ?
    XHTML ou JavaScript ou les 2 ?

    merci d'avance
    a+

  2. #2
    Membre Expert
    Avatar de jbrasselet
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2006
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 022
    Par défaut
    tu peux le faire en js en utilisant document.getElementById('monid').value.length

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 145
    Par défaut
    en xhtml, en bloquant le champs à 16 caractères

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    .... et dans les deux cas ci-dessus, mieux vaut quand même vérifier qu'il ne s'agit bien que de chiffres

    A+

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 453
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <script language="javascript">
    function verifChamp(champ) {
    if(event.keyCode>=48 && event.keyCode<=57 && champ.value.length<=15 || event.keyCode == 8 || event.keyCode == 13 || event.keyCode == 18 || event.keyCode == 9 || event.keyCode == 91) {
    return true;
    } else {
    return false;
    }
    }
    </script>
    <input type="text" size="15" onkeydown="return verifChamp(this)">

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    oui tu peux toujours faire une première vérification en javascript ça ne mange pas de pain ...
    Mais il vaudra mieux pour des raisons évidentes de sécurité doubler cela d'une vérification coté serveur, sinon c'est courrir au devant des ennuis ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 453
    Par défaut
    Oui, avec cela, doubler la verification en php ou en asp...

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    tu peux meêm trouve avec google des script javascript avec l’algorithme de la clé de Luhn pour vérifier le numéro ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  9. #9
    Membre chevronné
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 453
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    <script language="javascript">
    <!-- 
    function Mod10(ccNumb) { 
    var valid = "0123456789";
    var len = ccNumb.length; 
    var iCCN = parseInt(ccNumb); 
    var sCCN = ccNumb.toString();
    sCCN = sCCN.replace (/^\s+|\s+$/g,''); // strip spaces 
    var iTotal = 0; // integer total set at zero 
    var bNum = true; // by default assume it is a number 
    var bResult = false; // by default assume it is NOT a valid cc 
    var temp; // temp variable for parsing string 
    var calc; // used for calculation of each digit 
     
    // Determine if the ccNumb is in fact all numbers 
    for (var j=0; j<len; j++) { 
    temp = "" + sCCN.substring(j, j+1); 
    if (valid.indexOf(temp) == "-1"){bNum = false;} 
    } 
     
    // if it is NOT a number, you can either alert to the fact, or just pass a failure 
    if(!bNum){ 
    /*alert("Not a Number");*/bResult = false; 
    } 
     
    // Determine if it is the proper length 
    if((len == 0)&&(bResult)){ // nothing, field is blank AND passed above # check 
    bResult = false; 
    } else{ // ccNumb is a number and the proper length - let's see if it is a valid card number 
    if(len >= 15){ // 15 or 16 for Amex or V/MC 
    for(var i=len;i>0;i--){ // LOOP throught the digits of the card 
    calc = parseInt(iCCN) % 10; // right most digit 
    calc = parseInt(calc); // assure it is an integer 
    iTotal += calc; // running total of the card number as we loop - Do Nothing to first digit 
    i--; // decrement the count - move to the next digit in the card 
    iCCN = iCCN / 10; // subtracts right most digit from ccNumb 
    calc = parseInt(iCCN) % 10 ; // NEXT right most digit 
    calc = calc *2; // multiply the digit by two 
    // Instead of some screwy method of converting 16 to a string and then parsing 1 and 6 and then adding them to make 7, 
    // I use a simple switch statement to change the value of calc2 to 7 if 16 is the multiple. 
    switch(calc){ 
    case 10: calc = 1; break; //5*2=10 & 1+0 = 1 
    case 12: calc = 3; break; //6*2=12 & 1+2 = 3 
    case 14: calc = 5; break; //7*2=14 & 1+4 = 5 
    case 16: calc = 7; break; //8*2=16 & 1+6 = 7 
    case 18: calc = 9; break; //9*2=18 & 1+8 = 9 
    default: calc = calc; //4*2= 8 & 8 = 8 -same for all lower numbers 
    } 
    iCCN = iCCN / 10; // subtracts right most digit from ccNum 
    iTotal += calc; // running total of the card number as we loop 
    } // END OF LOOP 
    if ((iTotal%10)==0){ // check to see if the sum Mod 10 is zero 
    bResult = true; // This IS (or could be) a valid credit card number. 
    } else { 
    bResult = false; // This could NOT be a valid credit card number 
    } 
    } 
    } 
    // change alert to on-page display or other indication as needed. 
    if(bResult) { 
     
    } 
    if(!bResult){ 
    alert("Le numero de carte bancaire saisi n'est pas valide !");
    } 
    return bResult; // Return the results 
    } 
     
    function verifChamp(champ) {
    if(event.keyCode>=48 && event.keyCode<=57 && champ.value.length<=15 || event.keyCode == 8 || event.keyCode == 13 || event.keyCode == 18 || event.keyCode == 9 || event.keyCode == 91) {
    return true;
    } else {
    return false;
    }
    }
    //-->
    </script>
    <form onsubmit="return Mod10(document.form.cb.value)" name="form">
    <input type="text" size="15" name="cb" onkeydown="return verifChamp(this)">
    <input type="submit" onclick="return Mod10(this.form.cb.value)" value="OK">
    </form>

  10. #10
    Membre éclairé
    Avatar de clio671
    Profil pro
    Développeur Web
    Inscrit en
    Février 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2007
    Messages : 203
    Par défaut
    WAAAAAAOUUUH les geeks merci pour vos riches contributions !!!!

    a+

  11. #11
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /^\d{mini, maxi}$/.test(champ);

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/08/2002, 21h27
  2. Divers questions
    Par Freakazoid dans le forum DirectX
    Réponses: 2
    Dernier message: 06/08/2002, 21h57
  3. question sur les message box !
    Par krown dans le forum Langage
    Réponses: 7
    Dernier message: 02/08/2002, 16h11
  4. Question de faisabilité
    Par lisarasu dans le forum CORBA
    Réponses: 3
    Dernier message: 14/05/2002, 11h26
  5. [HyperFile] 2 questions de débutant
    Par khan dans le forum HyperFileSQL
    Réponses: 2
    Dernier message: 29/04/2002, 23h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo