PaliSkill
Python intermédiaire

Leçon 7 / 10 — Chapitre 9: Mise en pratique : carnet de contacts

Valider un numéro de téléphone avec une expression régulière

Septième étape : vérifier qu'un numéro de téléphone saisi respecte un format attendu, avec les expressions régulières vues au sixième chapitre — plus fiable qu'une simple vérification avec .isdigit(), qui refuserait un numéro contenant des espaces ou des tirets.

import re

def telephone_valide(numero):
    motif = r"^[0-9]{10}$"
    return re.search(motif, numero) is not None

print(telephone_valide("0102030405"))
print(telephone_valide("0102030"))
print(telephone_valide("01 02 03 04 05"))

Ce code affiche True, puis False, puis False. Le motif ^[0-9]{10}$ signifie : ^ le tout début, [0-9]{10} exactement 10 chiffres à la suite, $ la toute fin — un numéro trop court, trop long, ou contenant autre chose que des chiffres (comme des espaces) ne correspond pas.

re.search(motif, numero) is not None convertit le résultat de re.search() (vu au sixième chapitre) en un simple True/False, plus pratique à utiliser directement dans un if.

numero = input("Numero de telephone : ")
if telephone_valide(numero):
    print("Numero valide")
else:
    print("Format invalide, attendu : 10 chiffres")

À vous de jouer : testez telephone_valide() avec un numéro de 10 chiffres valide, puis avec un numéro trop court, et vérifiez les deux résultats.

🔒

Continuez ce module

Débloquez les leçons restantes ainsi que la certification finale.

2 500 XOF / 3,81 € / 4,15 $

Débloquez les 85 leçons restantes de ce module

Votre paiement est vérifié avant l'activation de l'accès