Orientação gerada a partir de informações públicas. Apenas para referência.
Um pacote Dart que habilita o tratamento de números de telefone internacionais usando a biblioteca libphonenumber do Google. Ele fornece funcionalidades robustas para análise, validação, formatação e determinação da região de números de telefone em formatos globais. Ideal para aplicativos que exigem processamento preciso de números de telefone em diversas regiões, suporta todas as principais plataformas, incluindo móvel, web e desktop. O pacote garante consistência e correção na validação e exibição de entradas de usuário, reduzindo erros nos fluxos de trabalho de comunicação internacional.
Casos de uso
Validando números de telefone internacionais
Formatar números de telefone por região
Análise de metadados do número de telefone
Detectando país a partir de um número
Suporte a entradas de usuário multi-região
Principais recursos
Baseado no libphonenumber do Google
Suporte multiplataforma
Validação abrangente
Formatação específica por região
Detecção automática do tipo de número
Indicado para
Aplicações globais com registro de usuário
Aplicativos de telecomunicações ou mensagens
Entradas de formulários internacionais
Aplicativos que exigem análise numérica precisa
Desenvolvedores que precisam de lógica confiável de número de telefone
Considerações
Requer manipulação cuidadosa dos códigos de região
Pode aumentar levemente o tamanho do aplicativo
Depende de código nativo para funcionalidade completa
Limitado a países suportados pelo libphonenumber
Necessita de tratamento adequado de erros para entradas inválidas
README original
Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.
Dart LibPhoneNumber
A Dart package for working with international phone numbers based on Google's libphonenumber implementation. It parses, formats, and validates numbers without relying on native dependencies.
✨ Features
✅ Parse, format, and validate phone numbers [parse(), format(), isValidNumber()]
➝ Convert raw phone numbers into structured objects, apply different formats, and check validity.
✅ Identify phone number types [getNumberType()]
➝ Distinguishes between Fixed-line, Mobile, Toll-free, Premium Rate, VoIP, etc.
✅ Match and compare phone numbers [isNumberMatch()]
➝ Determines whether two numbers are the same or similar.
✅ Generate example phone numbers [getExampleNumber()]
➝ Provides valid phone number examples for various countries/regions.
✅ Perform quick validation [isPossibleNumber()]
➝ Checks if a number has a valid length without requiring region-specific details.
✅ Validate phone numbers for a specific region [isValidNumberForRegion()]
➝ Ensures a phone number is valid in the given country based on length and prefix rules.
✅ Format phone numbers as-you-type [getAsYouTypeFormatter()]
➝ Dynamically formats phone numbers as users enter each digit.
✅ Extract phone numbers from text [findNumbers()]
➝ Detects phone numbers within a block of text (e.g., 'Call me on 0241234567').
✅ Geocode phone numbers [getDescriptionForNumber()]
➝ Retrieves geographical information related to a phone number (e.g., 'Zurich' for a Swiss number).
✅ Retrieve carrier information [getNameForNumber()]
➝ Identifies the telecom provider associated with a number (e.g., 'AT&T', 'Vodafone').
✅ Find associated timezones [getTimeZonesForNumber()]
➝ Returns timezone(s) linked to a phone number (e.g., 'America/New_York').
🚀 Quick Start
📌 Installation
Add dlibphonenumber to your pubspec.yaml:
dependencies:dlibphonenumber:^1.1.35#replace with the current version number.