Les distributeurs automatiques (ATM) utilisent des codes PIN pour sécuriser l'accès aux comptes.
Un code PIN valide doit respecter les règles suivantes :
- contenir exactement 4 chiffres
- ou contenir exactement 6 chiffres
- ne contenir aucun autre caractère
Votre objectif est d'écrire une fonction qui vérifie si une chaîne correspond à un code PIN valide.
La fonction doit retourner :
true→ si le PIN est validefalse→ sinon
🔗 Kata Codewars - Regex validate PIN code
• • •
La fonction doit respecter les règles suivantes :
- Recevoir une chaîne représentant un code PIN
- Vérifier que la chaîne contient :
- exactement 4 chiffres
- ou exactement 6 chiffres
- Aucun autre caractère n'est autorisé :
- pas de lettres
- pas d'espaces
- pas de symboles
• • •
Le traitement consiste à valider le format du code PIN.
Deux conditions sont possibles :
4 chiffres
ou
6 chiffres
Cette validation peut être réalisée avec une expression régulière.
Exemple de motif possible :
^[0-9]{4}$ | ^[0-9]{6}$
Ce motif vérifie que la chaîne contient exactement 4 ou 6 chiffres.
• • •
| PIN | Explication | Résultat |
|---|---|---|
"1234" |
4 chiffres | true |
"123456" |
6 chiffres | true |
"12345" |
longueur invalide | false |
"a234" |
contient une lettre | false |
"12 34" |
contient un espace | false |
• • •
Les tests unitaires associés sont disponibles dans le projet :
Les tests couvrent notamment :
- les PIN valides à 4 chiffres
- les PIN valides à 6 chiffres
- les longueurs incorrectes
- la présence de lettres ou caractères non numériques
- plusieurs tests automatiques
• • •
La fonction doit :
- recevoir une chaîne représentant un code PIN
- vérifier qu'elle contient exactement 4 ou 6 chiffres
- retourner :
true → si le PIN est valide
false → sinon