Google의 libphonenumber 라이브러리를 사용하여 국제 전화번호 처리를 가능하게 하는 Dart 패키지입니다. 글로벌 형식에서 전화번호의 파싱, 검증, 서식 지정 및 지역 확인을 위한 강력한 기능을 제공합니다. 다양한 지역에서 정확한 전화번호 처리가 필요한 앱에 적합하며, 모바일, 웹, 데스크톱을 포함한 모든 주요 플랫폼을 지원합니다. 사용자 입력 검증 및 표시 시 일관성과 정확성을 보장하여 국제 커뮤니케이션 워크플로우에서 오류를 줄입니다.
사용 사례
국제 전화 번호 검증
지역별 전화번호 형식 지정
전화번호 메타데이터 파싱
번호에서 국가 감지
다중 지역 사용자 입력 지원
주요 기능
Google의 libphonenumber을 기반으로
크로스 플랫폼 지원
포괄적인 검증
지역별 형식 지정
자동 숫자 유형 감지
적합한 대상
사용자 등록이 있는 글로벌 애플리케이션
통신 또는 메시징 앱
국제 폼 입력
정확한 숫자 분석이 필요한 앱
신뢰할 수 있는 전화번호 논리를 필요로 하는 개발자
고려 사항
지역 코드 처리에 주의가 필요합니다
앱 크기가 약간 증가할 수 있습니다
완전한 기능을 위해 원격 코드에 의존합니다
libphonenumber에서 지원하는 국가에 한정
잘못된 입력에 대한 적절한 오류 처리가 필요합니다
원본 README
연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.
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.