Aller au contenu

Numéros de téléphone ivoiriens : formats, préfixes et validation pour développeurs

Format +225, passage à 10 chiffres, préfixes Orange, MTN et Moov : comment normaliser et valider un numéro de téléphone ivoirien avant d'envoyer un SMS, avec exemples PHP, Python et JavaScript.

Avant d'envoyer un SMS ou un code de vérification, il faut un numéro correct. Or vos utilisateurs saisissent leur numéro de dix façons différentes : avec ou sans indicatif, avec des espaces, des points ou des tirets. Ce guide présente les formats ivoiriens et une méthode simple pour les normaliser côté serveur.

Le format des numéros ivoiriens

L'indicatif de la Côte d'Ivoire est +225. Depuis 2021, les numéros comptent 10 chiffres (l'ancien format avait 8 chiffres). Un numéro s'écrit donc :

  • +225 07 12 34 56 78 : format international ;
  • 00225 07 12 34 56 78 : même chose avec le préfixe d'appel international ;
  • 07 12 34 56 78 : format local à 10 chiffres.

Les anciens numéros à 8 chiffres existent encore dans de nombreuses bases de contacts : prévoyez de les repérer et de les signaler plutôt que de les envoyer tels quels.

Reconnaître l'opérateur grâce aux deux premiers chiffres

Les deux premiers chiffres du numéro local à 10 chiffres indiquent l'opérateur. Voici les préfixes que nous reconnaissons dans SMS Gold :

OpérateurPréfixes
Orange CI07, 08, 09, 27, 28, 29, 47, 48, 49, 57, 58, 59, 67, 68, 69, 77, 78, 79, 87, 88, 89
MTN CI05, 06, 25, 26, 45, 46, 55, 56, 65, 66, 75, 76, 85, 86
Moov Africa01, 02, 21, 22, 41, 42, 51, 52, 61, 62, 71, 72

Ce tableau évolue avec les plans de numérotation : ne le codez pas comme une vérité définitive pour bloquer des inscriptions. Utilisez-le plutôt pour des statistiques ou un contrôle de cohérence, et laissez la validation finale à l'envoi.

La méthode : normaliser avant de stocker

  1. Gardez uniquement les chiffres (supprimez espaces, points, tirets, parenthèses et le « + »).
  2. Retirez le préfixe 00 s'il est présent, puis l'indicatif 225.
  3. Vérifiez la longueur : il doit rester 10 chiffres. Sinon, rejetez ou signalez le numéro.
  4. Stockez toujours la forme complète 225XXXXXXXXXX (ou +225XXXXXXXXXX) : une seule représentation évite les doublons.

Exemples de code

JavaScript

function normalizeCI(input) {
  let d = String(input).replace(/\D/g, '');
  if (d.startsWith('00')) d = d.slice(2);
  if (d.startsWith('225')) d = d.slice(3);
  if (d.length !== 10) return null; // numéro invalide ou ancien format
  return '225' + d;
}

normalizeCI('+225 07 12 34 56 78'); // '2250712345678'
normalizeCI('07.12.34.56.78');      // '2250712345678'

Python

import re

def normalize_ci(value: str) -> str | None:
    d = re.sub(r"\D", "", value or "")
    if d.startswith("00"):
        d = d[2:]
    if d.startswith("225"):
        d = d[3:]
    return "225" + d if len(d) == 10 else None

PHP

function normalizeCI(string $value): ?string {
    $d = preg_replace('/\D/', '', $value);
    if (str_starts_with($d, '00')) $d = substr($d, 2);
    if (str_starts_with($d, '225')) $d = substr($d, 3);
    return strlen($d) === 10 ? '225' . $d : null;
}

Erreurs fréquentes

  • Garder le « 0 » après l'indicatif. Avec le format à 10 chiffres, le 0 initial fait partie du numéro ivoirien : +225 07… est correct. Ne le supprimez pas comme on le ferait pour la France.
  • Stocker un nombre au lieu d'une chaîne. Un numéro n'est pas un entier : les zéros initiaux disparaîtraient.
  • Valider avec une regex trop stricte. Une liste de préfixes figée refuse des numéros valides le jour où un opérateur ouvre une nouvelle tranche.
  • Ignorer les doublons. Sans normalisation, 0712345678 et +2250712345678 comptent pour deux contacts, et vous les facturez deux fois.

Et pour l'envoi ?

Une fois le numéro normalisé, il suffit de le transmettre à l'API. Les exemples complets sont dans nos guides PHP, Python et Node.js, et dans la documentation. Pour la vérification d'un numéro par code, lisez le guide de sécurité OTP.

Tous les articles

Prêt à envoyer vos premiers SMS professionnels ?

Créez votre compte gratuitement, importez vos contacts et préparez vos messages. Vous activez l'envoi quand vous êtes prêt.