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 :
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 deny | Numéro refusé |
|---|---|
INVALID | Numéro invalide. |
VOIP | Numéro VoIP. |
FIXED | Ligne fixe. |
PREMIUM_RATE | Numéro surtaxé. |
TOLL_FREE | Numéro gratuit. |
LEGACY_FORMAT | Ancien format à 8 chiffres (Bénin). Aussi refusé par INVALID. |
Options
| Option | Valeurs | Rôle |
|---|---|---|
deny | voir ci-dessus | Défaut ["INVALID"]. |
operators | "MTN", "MOOV", "ORANGE", "AIRTEL"… | N'accepter que ces opérateurs. Un opérateur inconnu n'est jamais refusé. |
countryCode | code ISO à 2 lettres | Pays par défaut d'un numéro écrit sans +, par exemple "BJ". |
countries | codes ISO, ou "AFRICA" | Pays acceptés. Vide : tous. |
mode | "LIVE" · "DRY_RUN" · "OFF" | Défaut "LIVE". |