Question

Quelle est la bonne façon de vérifier une carte de crédit avec une expression régulière? Si lequel utiliser il y a des tonnes en ligne. Sinon comment vérifier?

Était-ce utile?

Autres conseils

Voir ce lien trouver ou vérifier les numéros de carte de crédit avec Réguliers expressions

  • Visa: ^ 4 [0-9] {12} (: [0-9] {3}) $ Tous les numéros de carte Visa commencer par 4. Les nouvelles cartes ont 16 chiffres?. Les cartes anciennes ont 13.
  • MasterCard:. ^ 5 [1-5] [0-9] {14} $ Tous les numéros MasterCard commencent par les numéros 51 à 55. Tous ont 16 chiffres
  • American Express. ^ 3 [47] [0-9] {13} $ numéros de cartes American Express commencer par 34 ou 37 et ont 15 chiffres
  • Diners Club: ^ 3 (: 0 [0-5] | [68] [0-9]) [0-9] {11} numéros de carte Diners Club $ commencent par 300 à 305, 36 ou 38. tous ont 14 chiffres. Il y a des cartes Diners Club qui commencent par 5 et ont 16 chiffres. Ce sont une joint-venture entre Diners Club et MasterCard, et doivent être traitées comme une MasterCard.
  • Découvrez: ^ 6. (: 011 | 5 [0-9] {2}) [0-9] {12} $ Découvrez les numéros de carte commencer par 6011 ou 65. Tous ont 16 chiffres
  • JCB: ^ (?: 2131 | 1800 | 35 \ d {3}) \ d {11} cartes $ JCB commençant par 2131 ou 1800 ont 15 chiffres. Les cartes JCB commençant par 35 ont 16 chiffres.

Au revoir.

Je pense que vous cherchez Luhn algorithme . Il est une formule simple de contrôle utilisé pour valider une variété de numéros d'identification.

Cela dépend de la façon dont vous voulez la précision de votre pré-validation d'être. Pour valider tout ce que vous pouvez, vous devez calculer ce que le dernier chiffre de la carte devrait être et comparer à ce qui est entré, qu'un RegEx ne peut pas faire.

Pour l'algorithme et d'autres détails, voir ce lien , qui fournit également une liste des communes nombre préfixe que vous pouvez valider contre.

- Edit:

Enfait, je vais un peu en désaccord avec moi-même et d'accord avec Cletus. Valider autant que vous le pouvez (sans entrer dans les détails de certains types de cartes de crédit [à mon humble avis]) avant de l'envoyer. Et il va sans dire (je l'espère), que cette validation doit être faite en JavaScript, pour le rendre rapide, puis sur le serveur, vérifier (et pour les personnes handicapées JavaScript).

- Réponse précédente:

Ne pas déranger; il suffit de laisser le fournisseur vérifier lorsque vous essayez réellement paiement. Aucune raison légitime d'essayer de vérifier vous-même. Vous pouvez utiliser cette cependant, si vous vous sentez vraiment comme ça.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top