Recherche de site Web

Regex pour valider le numéro de carte de crédit


Le but de ce tutoriel est de montrer comment utiliser un script shell Bash ou un code de programmation Python pour valider un numéro de carte de crédit sur un système Linux.

Consultez les exemples de scripts ci-dessous pour valider les numéros de carte de crédit à partir de la ligne de commande Linux.

Dans ce tutoriel, vous allez apprendre :

  • Comment utiliser Bash pour valider le numéro de carte de crédit
  • Comment utiliser Python pour valider le numéro de carte de crédit

Regex pour valider le numéro de carte de crédit - Exemples Bash et Python

Comme vous l’avez peut-être deviné, de nombreux langages de programmation différents peuvent être utilisés pour valider un numéro de carte de crédit sous Linux. Un script a juste besoin d’utiliser une expression régulière pour s’assurer que 16 chiffres sont présents (avec des espaces ou des tirets dans certains cas). En d’autres termes, des chiffres tels que :

  • 1234 5678 1234 5678
  • 1234567812345678
  • 1234-5678-1234-5678

Deux des outils les plus populaires pour cette tâche sur Linux sont le shell Bash et le langage de programmation Python. Les deux sont capables de vérifier les numéros de carte de crédit avec seulement quelques courtes lignes de code. Utilisez votre méthode préférée ci-dessous et copiez nos exemples de script dans votre propre système pour commencer à valider les numéros de carte de crédit.

Exemple Bash pour valider les numéros de carte de crédit

Script Bash :


#!/bin/bash

regexp to get a valid credit card number

echo $1 | grep -qE '^([0-9]{4}[- ]?){3}[0-9]{4}$'

if [ $? -eq 0 ]; then
	echo "$1 is a valid credit card number."
else
	echo "$1 is an invalid credit card number."
fi

Exécution du script Bash :


chmod +x validate_credit_card_number.sh

./validate_credit_card_number.sh "1234 5678 1234 5678"
1234 5678 1234 5678 is a valid credit card number.

./validate_credit_card_number.sh 1234567812345678
1234567812345678 is a valid credit card number.

./validate_credit_card_number.sh 1234-5678-1234-5678
1234-5678-1234-5678 is a valid credit card number.

./validate_credit_card_number.sh 1234-5678-1234-56786
1234-5678-1234-56786 is an invalid credit card number.

./validate_credit_card_number.sh 1234-55678-1234-5678
1234-55678-1234-5678 is an invalid credit card number.

Exemple Python pour valider les numéros de carte de crédit

Script Python :


import re
cc_list=['1234 5678 1234 5678',
'1234567812345678',
'1234-5678-1234-5678',
'1234-5678-1234-56786',
'1234-55678-1234-5678']
pattern = '^([0-9]{4}[- ]?){3}[0-9]{4}$'
for eachnumber in cc_list:
    result = re.match(pattern, eachnumber)
    if result:
        print(eachnumber+" is a valid credit card number.")
    else:
        print(eachnumber+" is an invalid credit card number.")

Exécution du script Python :


python3 validate_credit_card_number.py

1234 5678 1234 5678 is a valid credit card number.

1234567812345678 is a valid credit card number.

1234-5678-1234-5678 is a valid credit card number.

1234-5678-1234-56786 is an invalid credit card number.

1234-55678-1234-5678 is an invalid credit card number.

Réflexions finales

Dans ce tutoriel, nous avons appris à utiliser un script Bash ou Python pour valider les numéros de carte de crédit sous Linux. Comme seule l’expression régulière est utilisée, cela finit par être un travail assez simple pour l’un ou l’autre langage de programmation. Et, bien sûr, de nombreux autres langages de programmation sont capables de cette tâche.

Articles connexes: