Aller au contenu
ZarexDocs

Validation de téléphone

Vérifiez les numéros de téléphone, filtrez par opérateur et par pays, avec les plans de numérotation africains.

La validation de téléphone vérifie le numéro saisi dans un formulaire : format, type de ligne, opérateur et pays. Elle couvre les numéros mobiles et fixes du continent, avec les opérateurs locaux (MTN, Moov, Orange, Airtel…).

Le problème

En Afrique, le numéro de téléphone est souvent l'identifiant principal : paiement Mobile Money, codes de vérification par SMS. Un numéro invalide fait échouer un paiement ou un SMS que vous payez. Un numéro VoIP permet de créer des comptes en série. Un numéro surtaxé peut vous coûter cher si vous lui envoyez des SMS. Et les plans de numérotation évoluent : au Bénin, les numéros sont passés à 10 chiffres.

Ce qu'elle arrête

  • les numéros invalides ou à l'ancien format ;
  • les numéros VoIP, souvent utilisés pour les faux comptes ;
  • les numéros surtaxés, utilisés pour la fraude aux SMS ;
  • les opérateurs ou pays que vous ne servez pas : par exemple, n'accepter que MTN et Moov pour un paiement Mobile Money.

Quand l'utiliser

Inscription par téléphone, envoi de codes par SMS, paiement Mobile Money, livraison.

Configuration

Le numéro à vérifier se donne avec call :

server.ts
import express from "express";
import { zarex, phoneValidation } from "@zarex/express";

const app = express();
app.use(express.json());

app.post(
  "/paiement",
  zarex({
    key: process.env.ZAREX_KEY!,
    rules: [
      phoneValidation({
        countryCode: "BJ",
        operators: ["MTN", "MOOV"],
        deny: ["INVALID", "VOIP"],
      }),
    ],
    call: (req) => ({ phone: req.body.telephone }),
  }),
  (req, res) => res.json({ ok: true })
);

Sans option, seuls les numéros invalides (INVALID) sont refusés. Les anciens numéros béninois à 8 chiffres en font partie : ils sont refusés par INVALID comme par LEGACY_FORMAT.

Ce qui peut être refusé

Valeur de denyNuméro refusé
INVALIDNuméro invalide.
VOIPNuméro VoIP.
FIXEDLigne fixe.
PREMIUM_RATENuméro surtaxé.
TOLL_FREENuméro gratuit.
LEGACY_FORMATAncien format à 8 chiffres (Bénin). Aussi refusé par INVALID.

Options

OptionValeursRôle
denyvoir ci-dessusDéfaut ["INVALID"].
operators"MTN", "MOOV", "ORANGE", "AIRTEL"…N'accepter que ces opérateurs. Un opérateur inconnu n'est jamais refusé.
countryCodecode ISO à 2 lettresPays par défaut d'un numéro écrit sans +, par exemple "BJ".
countriescodes ISO, ou "AFRICA"Pays acceptés. Vide : tous.
mode"LIVE" · "DRY_RUN" · "OFF"Défaut "LIVE".

Sur cette page