begin process at 2012 05 24 04:18:32
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Formulaire

 > VÉRIFIER LA VALIDITÉ D'UN NUMÉRO D'UNE CREDIT CARD/AMEX/MASTERCARD

VÉRIFIER LA VALIDITÉ D'UN NUMÉRO D'UNE CREDIT CARD/AMEX/MASTERCARD




 Description

Cette fonction permet de vérifier la validité d'un numéro d'une Credit Card/Amex/Mastercard.
Utilise dans vos solutions d'ecommerce lors de la validation des infos de paiement.

Source

  • function checkCC(n) {
  • var i;
  • n = n+"";
  • var sum = [];
  • var fsum = 0;
  • for (i=0;i<n.length-1;i+=2) {
  • sum.push(parseInt(n.substr(i,1))*2);
  • }
  • for (i=1;i<n.length;i+=2) {
  • fsum += parseInt(n.substr(i,1));
  • }
  • for (i=0;i<sum.length;i++) {
  • if (sum[i] > 9) {
  • fsum += (sum[i]-(Math.floor(sum[i]/10)*10))+Math.floor(sum[i]/10);
  • } else {
  • fsum += sum[i];
  • }
  • }
  • return fsum%10==0?true:false;
  • }
  • alert(checkCC("4417123456789113"));
	function checkCC(n) {
		var i;
		n = n+"";
		var sum = [];
		var fsum = 0;
		for (i=0;i<n.length-1;i+=2) {
			sum.push(parseInt(n.substr(i,1))*2);
		}
		for (i=1;i<n.length;i+=2) {
			fsum += parseInt(n.substr(i,1));
		}
		for (i=0;i<sum.length;i++) {
			
			if (sum[i] > 9) {
				fsum += (sum[i]-(Math.floor(sum[i]/10)*10))+Math.floor(sum[i]/10);
			} else {
				fsum += sum[i];
			}
		}
		return fsum%10==0?true:false;
	}
	alert(checkCC("4417123456789113"));

 Conclusion

Le numéro de CB fournis en exemple correspond à une carte d'exemple de First USA Bank.


 Sources du même auteur

Source avec Zip Source avec une capture STOCK/FOREX CANDLE CHART USING CANVAS API
MENU HORIZONTAL BASIQUE. CODE SIMPLE ET CLAIR. IDEAL POUR PE...
Source avec une capture BIDOUILLEZ LES DOSSIER DE WINDOWS! (FUN ET TRES JOLIE!) (POU...
Source avec Zip MENU DRAG'N DROP!
CURSEUR VISEUR!

 Sources de la même categorie

Source avec Zip Source avec une capture FORMULAIRE TABLEAU par vic511
Source avec Zip Source avec une capture FORMULAIRE DYNAMIQUE par Niidhogg
Source avec Zip Source avec une capture CONTRAINTE DE SAISIE SUR CHAMPS INPUT par ryosama
SELECTS DÉPENDANTS PRÉ-CHARGÉS D'UNE SEULE OPTION par phm
Source avec Zip Source avec une capture BOITE DE DIALOGUE MODALE DE SÉLECTION D'UNE LISTE D'ICONES par JJDai

 Sources en rapport avec celle ci

PETIT SCRIPT MAIS EFFICACE POUR VALIDER LES DATES par slash135
BOITE DE DIALOGUE DE VALIDATION MODAL par mickaelpfr
SCRIPT KIT "JAVASCRIPT" DE VERIFICATION D'UN FORMULAIRE par raydan
VALIDATION D'UN FORMULAIRE EN TEMPS RÉEL (OBLIGE L'UTILISATE... par glork

Commentaires et avis

Commentaire de Bacterius le 29/01/2011 12:27:11

Salut,
"Math.floor(sum[i]/10)*10))"
A éviter : on utilise l'opération modulo (c'est % il me semble en Java).

http://fr.wikipedia.org/wiki/Modulo_(informatique)

"fsum += (sum[i]-(Math.floor(sum[i]/10)*10))+Math.floor(sum[i]/10);"
Ne peut-on pas optimiser ceci comme "fsum += sum[i]-9*Math.floor(sum[i]/10);", sauf erreur de ma part ?

-> Prendre l'habitude de ne jamais croiser du flottant (Math.floor, etc..) et de l'arithmétique, ça ne va pas ensemble. Noter que l'arithmétique est toujours, *toujours*, plus rapide qu'une opération flottante.

Cordialement, Bacterius !

Commentaire de Bacterius le 29/01/2011 12:33:25

Noter que si l'on utilise l'opération modulo la deuxième optimisation dont je parlais devient sans objet. On obtient alors :

fsum += sum[i] - (sum[i] % 10) + (sum[I] div 10); (où div est la division entière ou euclidienne, j'ignore sa syntaxe en Javascript alors je laisse le "div").

Mais du fait de la spécificité de l'algorithme de Luhn que tu utilises ici on peut encore optimiser plus loin, je te laisse chercher.

Cordialement, Bacterius !

PS : lire "javascript" dans le commentaire avant, faute d'inattention.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

liste déroulante avec bouton de validation [ par nino ] Bonjour je débute depuis peu ds l'HTML donc si quelqu'un pouvait m'eclaircir ca serait sympa.J'aimerais ouvrir une nouvelle fenetre a partir du moment verif taille fichier avant chargement [ par erich10 ] comment peut-on verifier la taille d'un fichier lors de la validation d'un formulaireje voudrais ouvrir une fenetre lors de la validation du formulair nouvelle page après validation d'un formulaire [ par nicopico ] Bonjour,J'ai créé un formulaire (avec un mailto) qui contient un bonton de validation sur lequel je vérifie les différents champs sur l'évènement "onC verification champ de formulaire [ par elanspeech ] Bonjour,Je souhaiterais verifier le bon formatage et la validite d'une date entree dans un champ de formulaire.formatage jj/mm/aaaa, avec jj &lt; 32, bouton de validation d'un formulaire dans une frame séparée [ par carla ] Carla J'ai un formulaire dont je dois à la fois récupérer les données et imprimer ; pour que le bouton submit ne soit pas imprimé, je veux le Verification formulaire déjà modifier [ par zestyyy ] Bonjour !!! ::)J'ai donc un leger probleme car j'aimerai controler l'email et la question mais je ne peux le faire car j'ai déjà rajouter un petit tr Validation formulaire paralysée... pourquoi ??? [ par pyranhaz ] Bonjour,J'utilise depuis 2 ans le script de validation de formulaire ci-dessous (emprunter à Frontpage) et voilaà que je fais des changements (comme à verification sur plusieurs checkbox [ par brofa ] BrofBonjour à tousj'ai créé un formulaire avec 18 checkbox (ce sont des pieces manquantes à un dossier), en fait, si le gestionnaire sélectionne une s fermer un formulaire à la validation? [ par mousse83 ] j'ai un formulaire dans un popup qui une fois validé ouvre un autre popup de remerciements mais le formulaire ne se ferme pas...je ne sait pas ce qu'i Validation d'un formulaire avec la touche entrée [ par hchtot ] Bonjour,J'ai un formulaire classique avec un bouton de validation de type button et onclick="verif()".Ma fonction verif() est la suivante:function ver


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,945 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales