var cards = new Array();
cards [0] = {name: "VISA", length: "13,16", prefixes: "4", checkdigit: true};
cards [1] = {name: "VISA_DELTA/ELECTRON", length: "16", prefixes: "417500,4844,4508,4026,4917,4913", checkdigit: true};
cards [2] = {name: "MC", length: "16", prefixes: "51,52,53,54,55", checkdigit: true};
puis mes fonctions:Déterminer la carte par rapport aux préfixes carte
function CardTypes()
{
for (var i=0; i<cards.length; i++) {
if cards.name.Validate(PaymentForm.CardNumber.value)<!--pretty sure this is wrong-->
cardname = cards[i].getCardType();
}
if (cardname.length > 0) {
alert("This looks like a " + cardname + " .");
};
};
Lorsque le formulaire est soumis, il appelle la fonction Valider qui appelle à son tour toutes les autres fonctions, y compris CardTypes(). Je voudrais pouvoir déterminer le type de carte par les préfixes de la carte, c'est-à-dire 4 = visa. Je suis assez sûr que j'ai complètement foiré la fonction CardTypes(). Toute aide serait appréciée. L'identifiant de mon formulaire est PaymentForm.
Avant de continuer à coder une solution, je dois être sûr de 2 choses: 1) PaymentForm.CardNumber.value donnera la valeur donnée par l'utilisateur et 2) Vous voulez que CardTypes retourne le nom de la carte type. Corrigez-moi si j'ai tort, s'il-vous plait. Je ne peux pas faire beaucoup plus sans le HTML ou ces 2 détails. – Mamsaac
@Mamsaac: Merci pour votre réponse rapide. Oui Les CardTypes doivent renvoyer le nom du type de carte, c'est-à-dire le visa, etc. PaymentForm est mon formulaire et CardNumber est l'identifiant du champ de saisie du numéro de carte qu'il doit vérifier. ill ajouter le html au message original – Hatzi