Vérificateur de numéro de téléphone
Cet outil contrôle la forme d’un numéro de téléphone : indicatif pays, longueur attendue, format national (01 23 45 67 89) ou international (+33 6 12 34 56 78). Il indique si le numéro est plausible et le met en forme proprement avant de l’enregistrer. Tout se calcule dans votre navigateur.
Lancer gratuitement
Tout se passe dans votre navigateur : gratuit, sans envoi de vos données.
Un numéro plausible, bien mis en forme
Un numéro français fixe commence par 01 à 05, un mobile par 06 ou 07, et compte dix chiffres en format national. En international, il s’écrit avec l’indicatif +33 et sans le zéro initial. L’outil vérifie l’indicatif, la longueur et la cohérence, puis propose une écriture normalisée. Il repère un chiffre manquant, un indicatif absent ou un format bancal avant que le numéro n’entre dans votre fichier.
Ce que « valide » recouvre, et ses limites
Valide signifie ici conforme au plan de numérotation : la forme tient debout. Cela ne prouve pas que la ligne est attribuée, active ou joignable à cet instant — un numéro peut être bien formé et pourtant hors service. Pour aller plus loin (opérateur, ligne active), il faut une interrogation réseau, distincte de ce contrôle de forme. Ici, on assure d’abord la propreté de la donnée.
National, international, et les pièges du zéro
La confusion la plus fréquente vient du zéro : on le garde en national (06…), on le retire en international (+33 6…). Copier un numéro depuis un site étranger, coller un +33 devant un 06 déjà complet, oublier l’indicatif d’un fixe de province : autant d’erreurs que l’outil signale. Il harmonise vos numéros dans un format cohérent, ce qui facilite ensuite l’envoi de SMS ou l’export vers un logiciel.
Cas d’usage
Fiabiliser un carnet clients
En important ses contacts, Menuiserie Rousseau & Fils normalise les numéros : les « +33 06… » fautifs et les fixes à neuf chiffres sont signalés, puis réécrits proprement.
Formulaire de rappel
Sur une page « être rappelé », le champ téléphone refuse « 06 12 34 » incomplet et confirme « 06 12 34 56 78 » au bon format, ce qui évite un rappel impossible.
Préparer un envoi de SMS
Avant une campagne de rappels de rendez-vous, un cabinet met tous les mobiles au format international, condition d’acceptation par la plupart des passerelles SMS.
Questions fréquentes
« Valide » veut-il dire que la ligne existe vraiment ?
Non. Le contrôle atteste que le numéro respecte le plan de numérotation : bon indicatif, bonne longueur, format cohérent. Il ne dit pas si la ligne est attribuée ou active. Cela demande une interrogation réseau, qui relève d’un autre contrôle.
Faut-il garder ou retirer le zéro ?
En format national français, on garde le zéro (06 12 34 56 78). En international, on écrit +33 et on retire ce zéro (+33 6 12 34 56 78). L’outil détecte les mélanges des deux et propose l’écriture correcte.
Gère-t-il les numéros étrangers ?
Oui, s’ils portent un indicatif international reconnu. L’outil vérifie l’indicatif pays et la longueur attendue pour ce pays. Sans indicatif, il suppose par défaut le format français ; précisez le +XX pour lever l’ambiguïté.
Mes numéros sont-ils envoyés quelque part ?
Non. Le contrôle s’exécute dans votre navigateur, sur votre appareil. Aucun numéro n’est transmis, enregistré ni journalisé de notre côté — utile quand il s’agit de données personnelles couvertes par le RGPD.
Est-ce gratuit ?
Oui, sans limite ni inscription pour l’usage dans le navigateur. Seule l’automatisation via l’API est facturée à l’usage, $0.002 par requête, en dollars US, tarif affiché sans abonnement.
Peut-il traiter toute une colonne d’un fichier ?
À la main, on vérifie numéro par numéro. Pour normaliser une liste entière, la même logique s’intègre via l’API dans votre import, facturée à l’usage. Le résultat harmonise les formats pour l’export.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/verify/phone \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"items":["valor-1","valor-2"]}'const res = await fetch("https://api.kit.forhosting.com/verify/phone", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"items": [
"valor-1",
"valor-2"
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/verify/phone",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"items": [
"valor-1",
"valor-2"
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/verify/phone", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"items":["valor-1","valor-2"]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"items":["valor-1","valor-2"]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/verify/phone", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"items": [
"valor-1",
"valor-2"
]
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "verify.phone",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |