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.
