OutilsVérificateur de téléphone
🔧

Vérificateur de téléphone

✅ Disponible

Utilitaires

Description

Vérifiez la validité d'un numéro de téléphone avec code source disponible.

Vérifiez et formatez instantanément des numéros de téléphone du monde entier. Validation selon les standards ITU-T E.164, détection du type de ligne et formatage automatique. Code source fourni pour intégration dans vos projets.

Confidentialité garantie : Toutes les vérifications sont effectuées localement. Aucun numéro de téléphone n'est envoyé vers nos serveurs ou stocké.

Vérificateur de numéro de téléphone

🇫🇷+33

💻 Code source

Afficher le code

À propos de cet outil

Vérification et validation de numéros de téléphone

Validez et formatez des numéros de téléphone de tous pays avec cet outil complet. Il utilise les standards internationaux ITU-T E.164 pour garantir la précision et supporte plus de 200 pays et territoires.

✅ Validations supportées :
  • • Format international (E.164)
  • • Numéros nationaux et locaux
  • • Types de lignes (mobile, fixe, premium)
  • • Indicatifs pays et régions
🌍 Couverture mondiale :
  • • Plus de 200 pays/territoires
  • • Mise à jour automatique des plans
  • • Support des numéros spéciaux
  • • Formatage localisé

Types de validation disponibles

📞
Validation syntaxique

Vérification du format et de la structure du numéro selon les standards internationaux.

  • • Longueur correcte
  • • Indicatif pays valide
  • • Format E.164 respecté
  • • Caractères autorisés uniquement
🏷️
Classification du type

Identification du type de ligne et du fournisseur de services.

  • • Mobile ou fixe
  • • Numéros gratuits/premium
  • • VoIP et virtuels
  • • Services d'urgence
🌍
Géolocalisation

Identification du pays, de la région et du fuseau horaire associés au numéro.

  • • Pays d'origine
  • • Région/ville (si disponible)
  • • Fuseau horaire
  • • Code ISO du pays
🎨
Formatage

Formatage automatique selon les conventions nationales ou internationales.

  • • Format international (+33 1 23 45 67 89)
  • • Format national (01 23 45 67 89)
  • • Format E.164 (+33123456789)
  • • Format personnalisé

📋 Exemples de formats supportés

🇫🇷 France :
01 23 45 67 89✓ Valide
+33 1 23 45 67 89✓ Valide
06.12.34.56.78✓ Valide (mobile)
0123456789✗ Format incorrect
🇺🇸 États-Unis :
(555) 123-4567✓ Valide
+1 555 123 4567✓ Valide
555.123.4567✓ Valide
555-1234✗ Trop court
🇩🇪 Allemagne :
030 12345678✓ Valide
+49 30 12345678✓ Valide
0151 12345678✓ Valide (mobile)
🇯🇵 Japon :
03-1234-5678✓ Valide
+81 3 1234 5678✓ Valide
090-1234-5678✓ Valide (mobile)

💻 Exemple d'implémentation (JavaScript avec libphonenumber)

// Installation : npm install libphonenumber-js
import { parsePhoneNumber, isValidPhoneNumber, getCountryCallingCode } from 'libphonenumber-js';

class PhoneValidator {
  
  // Validation complète d'un numéro
  static validatePhone(phoneNumber, defaultCountry = 'FR') {
    try {
      // Parsing du numéro
      const parsedNumber = parsePhoneNumber(phoneNumber, defaultCountry);
      
      return {
        isValid: parsedNumber.isValid(),
        number: parsedNumber.number,
        nationalNumber: parsedNumber.nationalNumber,
        countryCallingCode: parsedNumber.countryCallingCode,
        country: parsedNumber.country,
        type: parsedNumber.getType(), // 'MOBILE', 'FIXED_LINE', etc.
        
        // Différents formats
        formats: {
          international: parsedNumber.formatInternational(),
          national: parsedNumber.formatNational(),
          e164: parsedNumber.format('E.164'),
          uri: parsedNumber.getURI()
        },
        
        // Informations supplémentaires
        possibleCountries: parsedNumber.getPossibleCountries(),
        isPossible: parsedNumber.isPossible(),
        isValidNumber: isValidPhoneNumber(phoneNumber, defaultCountry)
      };
      
    } catch (error) {
      return {
        isValid: false,
        error: error.message,
        suggestion: this.getSuggestion(phoneNumber)
      };
    }
  }
  
  // Validation simple et rapide
  static isValid(phoneNumber, country) {
    return isValidPhoneNumber(phoneNumber, country);
  }
  
  // Formatage automatique
  static format(phoneNumber, format = 'INTERNATIONAL', country = 'FR') {
    try {
      const parsed = parsePhoneNumber(phoneNumber, country);
      switch(format.toUpperCase()) {
        case 'NATIONAL':
          return parsed.formatNational();
        case 'E164':
          return parsed.format('E.164');
        case 'URI':
          return parsed.getURI();
        default:
          return parsed.formatInternational();
      }
    } catch (error) {
      return null;
    }
  }
  
  // Détection du pays
  static detectCountry(phoneNumber) {
    try {
      const parsed = parsePhoneNumber(phoneNumber);
      return {
        country: parsed.country,
        countryName: this.getCountryName(parsed.country),
        callingCode: parsed.countryCallingCode,
        possibleCountries: parsed.getPossibleCountries()
      };
    } catch (error) {
      return null;
    }
  }
  
  // Suggestions en cas d'erreur
  static getSuggestion(phoneNumber) {
    const cleaned = phoneNumber.replace(/[^0-9+]/g, '');
    
    if (cleaned.length < 8) {
      return "Le numéro semble trop court";
    }
    if (cleaned.length > 15) {
      return "Le numéro semble trop long";
    }
    if (!cleaned.startsWith('+') && !cleaned.startsWith('0')) {
      return "Ajoutez l'indicatif pays (+33) ou le 0 initial";
    }
    
    return "Vérifiez le format du numéro";
  }
  
  // Obtenir le nom du pays
  static getCountryName(countryCode) {
    const countries = {
      'FR': 'France',
      'US': 'États-Unis',
      'GB': 'Royaume-Uni',
      'DE': 'Allemagne',
      'ES': 'Espagne',
      'IT': 'Italie',
      'JP': 'Japon',
      'CN': 'Chine',
      // ... autres pays
    };
    return countries[countryCode] || countryCode;
  }
  
  // Validation par lot
  static validateBatch(phoneNumbers, defaultCountry = 'FR') {
    return phoneNumbers.map(phone => ({
      input: phone,
      ...this.validatePhone(phone, defaultCountry)
    }));
  }
}

// Exemples d'utilisation
console.log(PhoneValidator.validatePhone('01 23 45 67 89', 'FR'));
// {
//   isValid: true,
//   number: '+33123456789',
//   country: 'FR',
//   type: 'FIXED_LINE',
//   formats: {
//     international: '+33 1 23 45 67 89',
//     national: '01 23 45 67 89',
//     e164: '+33123456789'
//   }
// }

console.log(PhoneValidator.isValid('+1 555 123 4567', 'US')); // true
console.log(PhoneValidator.format('0612345678', 'INTERNATIONAL', 'FR')); // '+33 6 12 34 56 78'

// Validation par lot
const numbers = ['01 23 45 67 89', '+1 555 123 4567', '0612345678'];
console.log(PhoneValidator.validateBatch(numbers));

🔌 APIs et services de validation

🌐 APIs payantes (validation poussée) :
  • Twilio Lookup API

    Validation + informations carrier

  • Numverify

    200 requêtes/mois gratuites

  • Abstract Phone Validation

    API RESTful simple

  • Vonage Number Insight

    Validation avancée + roaming

📚 Librairies recommandées :
  • libphonenumber-js

    JavaScript - Basé sur Google libphonenumber

  • phonenumbers (Python)

    Port Python de Google libphonenumber

  • PhoneNumberKit (Swift)

    Pour applications iOS

  • libphonenumber (Java)

    Librairie Google originale

Cas d'usage et applications

📋 Formulaires web
  • • Validation en temps réel
  • • Auto-formatage des champs
  • • Suggestion de corrections
  • • UX améliorée
📊 Nettoyage de données
  • • Normalisation des formats
  • • Détection des doublons
  • • Classification par type
  • • Géolocalisation
💬 Marketing/SMS
  • • Segmentation mobile/fixe
  • • Ciblage géographique
  • • Coûts d'envoi optimisés
  • • Conformité RGPD
🔐 Sécurité
  • • Authentification 2FA
  • • Vérification d'identité
  • • Détection de fraude
  • • Conformité KYC

💡 Conseils et bonnes pratiques

✅ À faire :
  • Toujours stocker les numéros au format E.164 (+33123456789)
  • Valider à la saisie ET à l'enregistrement
  • Détecter automatiquement le pays si possible
  • Afficher le format attendu à l'utilisateur
  • Permettre la copie du numéro formaté
❌ À éviter :
  • Stocker avec des formats différents dans la DB
  • Bloquer les formats valides mais inhabituels
  • Forcer un format spécifique sans alternative
  • Validation côté client uniquement
  • Ignorer les numéros spéciaux (courts, premium)

Informations

CatégorieUtilitaires
Statut✅ Disponible
Gratuit✓ Oui
Inscription✗ Non requise

Une suggestion ? 💡

Vous avez une idée d'outil qui pourrait être utile ? N'hésitez pas à me contacter !