Flutter plugin for parsing, formatting and validating international phone numbers.

Overview

Phone Number for Flutter

PhoneNumber is a Flutter plugin that allows you to parse, validate and format international phone numbers.

The plugin uses the native libraries libphonenumber for Android and PhoneNumberKit pod for iOS.

Library Version
libphonenumber 8.12.32
PhoneNumberKit 3.3.3

Usage

Parsing

Parse a phone number with region prefix.

String springFieldUSASimple = '+14175555470';
PhoneNumber phoneNumber = await PhoneNumberUtil().parse(springFieldUSASimple);

Parse a phone number with region prefix and dashes.

String springFieldUSA = '+1-417-555-5470';
PhoneNumber phoneNumber = await PhoneNumberUtil().parse(springFieldUSA);

Parse a phone number string without the region prefix. Region required. Country calling codes can be found here

String springFieldUSASimpleNoRegion = '4175555470';
RegionInfo region = RegionInfo('US', 1);
PhoneNumber phoneNumber = await PhoneNumberUtil().parse(springFieldUSASimpleNoRegion, region: region);

Parsing a valid phone number results in a phone number object:

PhoneNumber{
  e164: +14175555470,
  type: PhoneNumberType.FIXED_LINE_OR_MOBILE,
  international: +1 417-555-5470,
  national: (417) 555-5470,
  countryCode: 1,
  nationalNumber: 4175555470,
  errorCode: null,
}

Validating

Validating a phone number requires both the phone number string and the region country code.

PhoneNumberUtil plugin = PhoneNumberUtil();

String springFieldUSASimpleNoRegion = '4175555470';
RegionInfo region = RegionInfo('US', 1);
bool isValid = await plugin.validate(springFieldUSASimpleNoRegion, region.code);

String springFieldUSASimple = '+14175555470';
bool isValid = await plugin.validate(springFieldUSASimple, region.code);

String springFieldUSA = '+1-417-555-5470';
bool isValid = await plugin.validate(springFieldUSA, region.code);

Formatting

Phone numbers can also be formatted for the UI to display the number.

String springFieldUSASimpleNoRegion = '4175555470';
RegionInfo region = RegionInfo('US', 1);
String formatted = await PhoneNumberUtil().format(springFieldUSASimpleNoRegion, region.code); // (417) 555-5470

PhoneNumber will not add the country prefix unless the phone number has the prefix

String springFieldUSASimpleNoRegion = '+14175555470';
RegionInfo region = RegionInfo('US', 1);
String formatted = await PhoneNumberUtil().format(springFieldUSASimpleNoRegion, region.code); // +1 (417) 555-5470

As-you-type formatting

Attach the provided PhoneNumberEditingController to a TextField to format its text as the user type.

There are 3 formatting behavior:

  • PhoneInputBehavior.strict: always format, do not accept non dialable chars.
  • PhoneInputBehavior.cancellable: stop formatting when a separator is removed, do not accept non dialable chars.
  • PhoneInputBehavior.lenient (default): stop formatting when either a non dialable char is inserted or a separator is removed.

Example video: https://www.youtube.com/watch?v=rlLGVXCi-2Y.

See example/lib/autoformat_page.dart for a detailed implementation.

Regions

Fetching regions (country code and prefixes).

List<RegionInfo> regions = await plugin.allSupportedRegions();
// [ RegionInfo { code: IM, prefix: 44 }, RegionInfo { code: LU, prefix: 352 }, ... ]

If you want to display all the flags alongside the regions in your UI region picker, consider having a JSON file instead of using this function. Example JSON file

const List<Map<String, dynamic>> countries = [
  {"name":"Afghanistan","flag":"πŸ‡¦πŸ‡«","code":"AF","dial_code":"+93"},
  {"name":"Γ…land Islands","flag":"πŸ‡¦πŸ‡½","code":"AX","dial_code":"+358"},
  ...
]

Device Region code

It is possible to fetch the region code from the device. This will give you the two letter country code. (e.g. US, UK, ...)

String code = await plugin.carrierRegionCode();

Contributors

Made with contributors-img.

Comments
  • Add validate number without region code

    Add validate number without region code

    Connection with issue(s)

    Close #64

    Solution description

    If don't pass region code to validator, try validate a complete number

    Video demo

    https://user-images.githubusercontent.com/21011641/182707477-f1a37f4b-345b-402d-8288-d7b6c43c4ba5.mp4

    To Do

    • [x] Read contributing guide
    • [x] Check the original issue to confirm it is fully satisfied
    • [x] Add solution description to help guide reviewers
    • [ ] Add unit test to verify new or fixed behaviour
    • [x] If apply, add documentation to code properties and package readme
    opened by deandreamatias 10
  • Unhandled Exception: MissingPluginException(No implementation found for method parse on channel com.julienvignali/phone_number)

    Unhandled Exception: MissingPluginException(No implementation found for method parse on channel com.julienvignali/phone_number)

    run example on ios emulator flutter version: 1.9.1 [VERBOSE-2:ui_dart_state.cc(148)] Unhandled Exception: MissingPluginException(No implementation found for method parse on channel com.julienvignali/phone_number) #0 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:314:7) #1 PhoneNumber.parse (package:phone_number/src/phone_number.dart:20:21) #2 _MyAppState.initPlatformState (package:phone_number_example/main.dart:29:36) #3 _MyAppState.initState (package:phone_number_example/main.dart:21:5) #4 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4067:58) #5 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3921:5) #6 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3103:14) #7 Element.updateChild (package:flutter/src/widgets/framework.dart:2906:12) #8 RenderObjectToWidgetElement._rebuild (package:flutter/src/widgets/binding.dart:1002:16) #9 RenderObjectToWidgetElement.m<…>

    opened by myamolane 5
  • Show indicator for validation status

    Show indicator for validation status

    Connection with issue(s)

    Closes #75

    Solution description

    Shows validation indicator on Validate button press.

    Screenshots or Videos

    https://user-images.githubusercontent.com/47249618/182874913-0110e807-aa1d-495e-90c6-fac86adf078a.mp4

    To Do

    • [x] Read contributing guide
    • [x] Check the original issue to confirm it is fully satisfied
    • [x] Add solution description to help guide reviewers
    • [ ] Add unit test to verify new or fixed behaviour
    • [x] If apply, add documentation to code properties and package readme
    opened by iamsahilsonawane 4
  • Issues with Determining the ISO3166 Country Code given a phone number, validation

    Issues with Determining the ISO3166 Country Code given a phone number, validation

    In our app I'm given a phone number. I don't know what country it is from, but we require the end user to enter the E164 +xxx country code.

    With this library I cannot seem to turn a "+1 314 246 xxxx" phone number into the value "US" nor "+1 787 246 xxxx" into "PR"

    Our customers are all over the world, and I don't want a "Country Code Picker" either.

    LibPhoneNumber can determine that the +1 314 246 xxxx is in the US, I'm not sure why this library does not expose it.

    Help!

    The big challenge here is that this library uses isValidNumberForRegion() as implemented in this library, in Java:

    https://github.com/nashfive/phone_number/blob/d4ff262c4f91b2880f03a0d6072b5c7073772ad4/android/src/main/java/com/julienvignali/phone_number/PhoneNumberPlugin.java#L107

    Now I have to know the region ahead of validation, but I don't know it, but it should be implied by the number, not requiring me to include the region.

    It would be nice to be able to have access to a different .validate function to match the Google LibPhoneNumber options, such as .isPossibleNumber() and .isValidNumber() rather than the very specific .isValidNumberForRegion()

    Without this flexibility and access to the rest of the functionality of libphonenumber, I'm struggling to accomplish reliance on the value that LibPhoneNumber provides!

    enhancement 
    opened by ooglek 4
  • PlatformException(InvalidNumber, Number 3 is invalid, null, null)

    PlatformException(InvalidNumber, Number 3 is invalid, null, null)

    The following error is thrown whenever the validate function is called for the first time.

        StandardMethodCodec.decodeEnvelope(package:flutter/src/services/message_codecs.dart:607)
        MethodChannel._invokeMethod(package:flutter/src/services/platform_channel.dart:177)
        MethodChannel.invokeMapMethod(package:flutter/src/services/platform_channel.dart:377)
        PhoneNumberUtil.validate(package:phone_number/src/phone_number_util.dart:109)```
    opened by Neelansh-ns 4
  • Android embedding v2

    Android embedding v2

    This migrates the plugin to Flutters V2 Android embedding. As part of the migration, E2E tests were added and can be used to verify the functionality on the actual target device. Bumps version to 0.6.1

    opened by ened 4
  • RangeError (index): Invalid value: Valid value range is empty: 0.

    RangeError (index): Invalid value: Valid value range is empty: 0.

    Environment

    Package version:

    Flutter doctor
    [βœ“] Flutter (Channel stable, 3.0.1, on macOS 12.3.1 21E258 darwin-arm, locale en-RO)
        β€’ Flutter version 3.0.1 at /Users/ka/dev/tools/flutter
        β€’ Upstream repository https://github.com/flutter/flutter.git
        β€’ Framework revision fb57da5f94 (8 weeks ago), 2022-05-19 15:50:29 -0700
        β€’ Engine revision caaafc5604
        β€’ Dart version 2.17.1
        β€’ DevTools version 2.12.2
    
    [βœ“] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
        β€’ Android SDK at /Users/ka/Library/Android/sdk
        β€’ Platform android-32, build-tools 30.0.3
        β€’ Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
        β€’ Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
        β€’ All Android licenses accepted.
    
    [βœ“] Xcode - develop for iOS and macOS (Xcode 13.4.1)
        β€’ Xcode at /Applications/Xcode.app/Contents/Developer
        β€’ CocoaPods version 1.11.2
    
    [βœ“] Chrome - develop for the web
        β€’ Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
    
    [βœ“] Android Studio (version 2020.3)
        β€’ Android Studio at /Applications/Android Studio.app/Contents
        β€’ Flutter plugin can be installed from:
          πŸ”¨ https://plugins.jetbrains.com/plugin/9212-flutter
        β€’ Dart plugin can be installed from:
          πŸ”¨ https://plugins.jetbrains.com/plugin/6351-dart
        β€’ Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
    
    [βœ“] VS Code (version 1.69.0)
        β€’ VS Code at /Applications/Visual Studio Code.app/Contents
        β€’ Flutter extension version 3.44.0
    
    [βœ“] Connected device (4 available)
        β€’ iPhone (mobile)                     β€’ b4edf88c07bc09f8c4aa16ca492b0ddbbc369aa1 β€’ ios            β€’ iOS 15.5 19F77
        β€’ iPhone SE (3rd generation) (mobile) β€’ 13CC9010-3592-4FC3-A31E-3B89FEE726F6     β€’ ios            β€’ com.apple.CoreSimulator.SimRuntime.iOS-15-5 (simulator)
        β€’ macOS (desktop)                     β€’ macos                                    β€’ darwin-arm64   β€’ macOS 12.3.1 21E258 darwin-arm
        β€’ Chrome (web)                        β€’ chrome                                   β€’ web-javascript β€’ Google Chrome 103.0.5060.114
        ! Error: iPhone is busy: Fetching debug symbols for iPhone. Xcode will continue when iPhone is finished. (code -10)
    
    [βœ“] HTTP Host Availability
        β€’ All required HTTP hosts are available
    
    β€’ No issues found!
    
    Code sample
    I cannot reproduce it but I am getting over 40 crash reports about this.
    

    Description

    Expected behavior: Do not crash

    Current behavior: Crash

    Steps to reproduce

    I cannot reproduce it but I have over 40 crash resports about this.

    Stacktrace/Logcat

    0 ??? 0x0 _OneByteString.codeUnitAt (dart:core) 1 ??? 0x0 StringExt.findAdditionRange + 43 (utils.dart:43) 2 ??? 0x0 PhoneNumberEditingController._onStopFormatting + 185 (controller.dart:185) 3 ??? 0x0 PhoneNumberEditingController._formatAndSet + 145 (controller.dart:145) 4 ??? 0x0 PhoneNumberEditingController.value= + 89 (controller.dart:89) 5 ??? 0x0 EditableTextState._value= + 2211 (editable_text.dart:2211) 6 ??? 0x0 EditableTextState._formatAndSetValue + 2617 (editable_text.dart:2617) 7 ??? 0x0 EditableTextState.updateEditingValue + 1967 (editable_text.dart:1967) 8 ??? 0x0 TextInput._handleTextInputInvocation + 1730 (text_input.dart:1730) 9 ??? 0x0 MethodChannel._handleAsMethodCall + 404 (platform_channel.dart:404) 10 ??? 0x0 MethodChannel.setMethodCallHandler. + 397 (platform_channel.dart:397) 11 ??? 0x0 _DefaultBinaryMessenger.setMessageHandler. + 380 (binding.dart:380) 12 ??? 0x0 _DefaultBinaryMessenger.setMessageHandler. + 377 (binding.dart:377)

    bug 
    opened by kaciula 3
  • ios build error SwiftPhoneNumberPlugin.swift:53:11: warning: 'catch' block is unreachable

    ios build error SwiftPhoneNumberPlugin.swift:53:11: warning: 'catch' block is unreachable

     ** BUILD FAILED **
    Xcode's output:
    ↳
        /Users/******/.pub-cache/hosted/pub.dartlang.org/phone_number-0.6.2+1/ios/Classes/SwiftPhoneNumberPlugin.swift:53:11: warning: 'catch' block is unreachable because no errors are thrown in 'do' block
                } catch {
                  ^
    
    opened by Xgamefactory 3
  • `phone_number` does not specify a Swift version

    `phone_number` does not specify a Swift version

    running under ios platform, phone_number plugin build errors as below:

    Unable to determine Swift version for the following pods: - phone_number does not specify a Swift version and none of the targets (Runner) integrating it have the SWIFT_VERSION attribute set. Please contact the author or set the SWIFT_VERSION attribute in at least one of the targets that integrate this pod. /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.8.4/lib/cocoapods/installer/xcode/target_validator.rb:125:in verify_swift_pods_swift_version' /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.8.4/lib/cocoapods/installer/xcode/target_validator.rb:39:invalidate!' /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.8.4/lib/cocoapods/installer.rb:590:in validate_targets' /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.8.4/lib/cocoapods/installer.rb:158:ininstall!' /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.8.4/lib/cocoapods/command/install.rb:52:in run' /Library/Ruby/Gems/2.3.0/gems/claide-1.0.3/lib/claide/command.rb:334:inrun' /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.8.4/lib/cocoapods/command.rb:52:in run' /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.8.4/bin/pod:55:in<top (required)>' /usr/local/bin/pod:22:in load' /usr/local/bin/pod:22:in

    '

    opened by stoneLee81 3
  • adds method to retrieve all supported regions & their country codes

    adds method to retrieve all supported regions & their country codes

    Also adds some basic unit test. Future version of this plugin should probably switch away from just calling through with static methods so that everything can be tested.

    opened by ened 3
  • Error on null region on validate method (iOS)

    Error on null region on validate method (iOS)

    Connection with issue(s)

    Close #82

    Connected to #73

    Solution description

    Validating number with no region code.

    Screenshots or Videos

    To Do

    • [x] Read contributing guide
    • [x] Check the original issue to confirm it is fully satisfied
    • [x] Add solution description to help guide reviewers
    • [ ] Add unit test to verify new or fixed behaviour
    • [ ] If apply, add documentation to code properties and package readme
    opened by iamsahilsonawane 2
  • Different parse results with the same number

    Different parse results with the same number

    phone_number: ^1.0.0

    When parsing a number with no regionCode, for example 01114377479 (An Egyptian number), sometimes it returns +201114377479, other times it fails to parse. Why would there be this inconsistency, how can i help?

    bug 
    opened by yassinsameh 0
  • format() should allow the region to be empty

    format() should allow the region to be empty

    Environment

    Package version: v1.0.0

    Description

    What you'd like to happen:

    We use E164 phone numbers (+12125004000, +442075972524) in our app. As these clearly indicate the country, the extra step of parsing the first few characters in order to tell format() what country we are in seems like extra effort. In addition, in v1.0.0 it seems like region is ignored when the phone number is passed in E164 format.

    The new parse() method has been great so far! I'd love to see format() follow the same path of making region optional, with its use enhancing the method when necessary or useful.

    Alternatives you've considered:

    We are using this library and format() with regionCode:"US" as a placeholder for now, and it works, but are concerned that a future enhancement, change, or bug fix might cause this faked functionality to behave in a different manner.

    I tried a different library, but it was feature incomplete, as it had only implemented mobile and fixedLine, and not Toll Free, etc and so the validation in that library failed to meet our needs.

    enhancement 
    opened by ooglek 2
  • v1.0.0 working on Simulator IOS 15.5, not working on real iPhone on 15.6

    v1.0.0 working on Simulator IOS 15.5, not working on real iPhone on 15.6

    I've been testing v1.0.0 on Android and IOS. Android is working on devices and simulator, and it works fine in the Apple Simulator using the iPhone SE and IOS 15.5, but the same code on an iPhone running IOS 15.6 fails to correctly validate numbers.

    I'm not sure if the interface to PhoneKit changed between 15.5 and 15.6. I'm working on installing XCode 14 Beta so I can create an IOS 15.6 device in the simulator to test further and provide more details. I tested on a simulator 15.5 iPhone SE with XCode 13.4.1 and that works fine.

    I'd be surprised if the issue was 15.5 vs 15.6, since the SDK for 15.5 pretty much says it supports 15.6.

    It could also be a flutter or dart issue, I'm not yet sure. Just wanted to start documenting my experience.

    Environment

    Package version: v1.0.0

    Flutter doctor
    [βœ“] Flutter (Channel stable, 3.0.5, on macOS 12.5 21G72 darwin-x64, locale en-US)
        β€’ Flutter version 3.0.5 at /Users/beckman/dev/flutter
        β€’ Upstream repository https://github.com/flutter/flutter.git
        β€’ Framework revision f1875d570e (5 weeks ago), 2022-07-13 11:24:16 -0700
        β€’ Engine revision e85ea0e79c
        β€’ Dart version 2.17.6
        β€’ DevTools version 2.12.2
    
    [βœ“] Android toolchain - develop for Android devices (Android SDK version 33.0.0-rc1)
        β€’ Android SDK at /Users/beckman/Library/Android/sdk
        β€’ Platform android-31, build-tools 33.0.0-rc1
        β€’ ANDROID_HOME = /Users/beckman/Library/Android/sdk
        β€’ Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
        β€’ Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
        β€’ All Android licenses accepted.
    
    [βœ“] Xcode - develop for iOS and macOS (Xcode 13.4.1)
        β€’ Xcode at /Applications/Xcode.app/Contents/Developer
        β€’ CocoaPods version 1.11.3
    
    [βœ“] Chrome - develop for the web
        β€’ Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
    
    [βœ“] Android Studio (version 2021.2)
        β€’ Android Studio at /Applications/Android Studio.app/Contents
        β€’ Flutter plugin can be installed from:
          πŸ”¨ https://plugins.jetbrains.com/plugin/9212-flutter
        β€’ Dart plugin can be installed from:
          πŸ”¨ https://plugins.jetbrains.com/plugin/6351-dart
        β€’ Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    
    [βœ“] VS Code (version 1.70.1)
        β€’ VS Code at /Applications/Visual Studio Code.app/Contents
        β€’ Flutter extension version 3.46.0
    
    [βœ“] Connected device (3 available)
        β€’ Pixel 2 (mobile) β€’ HT78P1A00981 β€’ android-arm64  β€’ Android 11 (API 30)
        β€’ macOS (desktop)  β€’ macos        β€’ darwin-x64     β€’ macOS 12.5 21G72 darwin-x64
        β€’ Chrome (web)     β€’ chrome       β€’ web-javascript β€’ Google Chrome 104.0.5112.79
    
    [βœ“] HTTP Host Availability
        β€’ All required HTTP hosts are available
    
    β€’ No issues found!
    
    Code sample
    String numClean = '+1 203 322-2252';
    try {
          bool numIsValid = await PhoneNumberUtil().validate(numClean, regionCode: 'US');
    } catch (e) {
          if (!(e is PlatformException) || e.code != 'InvalidNumber') {
            print("Got Error _getRegionInfo validate onError: ${e.toString()}");
          }
    }
    

    Description

    Expected behavior: Return true

    Current behavior: Returns false

    Steps to reproduce

    1. Deploy app on IOS Device running 15.6
    2. Run app
    3. Enter phone numbers or just run the above phone number

    Images

    Stacktrace/Logcat

    bug 
    opened by ooglek 1
  • Critical: Migration to Federated Plugin [Action plan]

    Critical: Migration to Federated Plugin [Action plan]

    Description

    Firstly, before implementing web support for the plugin. It needs platform separation.

    The main package should be platform agnostic. Three different platform-specific packages need to be created instead, along with the platform interface.

    So the new package structure should be:

    • phone_number (main)
    • phone_number_platform_inteface
    • phone_number_android
    • phone_number_ios
    • phone_number_web (#44)

    @deandreamatias I need your help here. You can create those remaining repositories on flutter-form-builder-ecosystem.

    Roadmap:

    1. Create required subdivision folders
    2. Working out platform interface
    3. Migrating old platform code to platform-specific repos.
    4. Testing (Android, iOS)
    5. Merging the changes into main in actual phone_number repo.
    6. Publishing (platform-specific -> unlisted packages) (@deandreamatias)
    enhancement 
    opened by iamsahilsonawane 4
  • Simplify example code

    Simplify example code

    Environment

    Package version: 0.12.0+2

    Description

    What you'd like to happen: Example application will be easy to understand and run

    Alternatives you've considered: Remove complex state management

    enhancement 
    opened by deandreamatias 0
Releases(1.0.0)
  • 1.0.0(Aug 10, 2022)

    What's Changed

    • Add some docs and pipeline by @deandreamatias in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/67
    • Flutter 3.0 by @deandreamatias in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/72
    • Add validate number without region code by @deandreamatias in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/73
    • Show indicator for validation status by @iamsahilsonawane in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/76
    • Keep the tabs state alive by @iamsahilsonawane in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/78
    • Add region code and update docs for country code by @iamsahilsonawane in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/81
    • Error on null region on validate method (iOS) by @iamsahilsonawane in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/83
    • Refactor readme and update pipeline by @deandreamatias in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/80
    • Release 1.0.0 by @deandreamatias in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/85

    New Contributors

    • @deandreamatias made their first contribution in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/67

    Full Changelog: https://github.com/flutter-form-builder-ecosystem/phone_number/compare/0.12.0+2...1.0.0

    Source code(tar.gz)
    Source code(zip)
  • 0.12.0+2(Aug 10, 2022)

    What's Changed

    • Updated Kotlin, google_services versions by @derTuca in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/1
    • 0.2.0 - Remove Kotlin / Upgrade to AndroidX by @nashfive in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/2
    • feat: added parcial phone format support by @ajzuse in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/4
    • Support for Country Code and National Number by @vanyasem in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/7
    • Added list checking ability by @maqoo in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/9
    • Feature/upgrade plugin by @nashfive in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/13
    • adds method to retrieve all supported regions & their country codes by @ened in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/14
    • Feature/remove static methods by @nashfive in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/17
    • Adds iOS clang module, migrate iOS example project. by @ened in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/16
    • Update native libs by @nashfive in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/18
    • Android embedding v2 by @ened in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/20
    • Upgrade libphonenumber to 8.12.1 by @ened in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/21
    • Ios compatibility issues by @nashfive in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/24
    • specify returned dart types and document a bit by @ened in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/26
    • Bugfix/fix swift warnings by @nashfive in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/27
    • Bumps libphonenumber on Android to 8.12.6 by @patuoynageek in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/28
    • Adding validate method by @onatcipli in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/31
    • PR for #12 by @thienvu18 in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/32
    • Upgrade files to latest plugin template version and update libraries by @nashfive in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/33
    • Fix PhoneNumber with 'national_number' format by @clouddevil in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/35
    • Bumps Android libphonenumber to v8.12.18 & iOS PhoneNumberKit to v3.3.3 by @patuoynageek in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/37
    • migrate to null safety by @VictorUvarov in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/39
    • Add Documentation by @VictorUvarov in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/43
    • Add localized name for the region by @nashfive in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/48
    • Update documentation and example for carrier region code by @VictorUvarov in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/52
    • Adds a TextEditingController that automatically formats TextField by @nicbn in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/54

    New Contributors

    • @derTuca made their first contribution in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/1
    • @nashfive made their first contribution in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/2
    • @ajzuse made their first contribution in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/4
    • @vanyasem made their first contribution in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/7
    • @maqoo made their first contribution in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/9
    • @ened made their first contribution in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/14
    • @onatcipli made their first contribution in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/31
    • @thienvu18 made their first contribution in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/32
    • @clouddevil made their first contribution in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/35
    • @VictorUvarov made their first contribution in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/39
    • @nicbn made their first contribution in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/54

    Full Changelog: https://github.com/flutter-form-builder-ecosystem/phone_number/commits/0.12.0+2

    What's Changed

    • Support for Country Code and National Number by @vanyasem in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/7
    • Added list checking ability by @maqoo in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/9
    • Feature/upgrade plugin by @nashfive in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/13
    • adds method to retrieve all supported regions & their country codes by @ened in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/14
    • Feature/remove static methods by @nashfive in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/17
    • Adds iOS clang module, migrate iOS example project. by @ened in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/16
    • Update native libs by @nashfive in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/18
    • Android embedding v2 by @ened in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/20
    • Upgrade libphonenumber to 8.12.1 by @ened in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/21
    • Ios compatibility issues by @nashfive in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/24
    • specify returned dart types and document a bit by @ened in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/26
    • Bugfix/fix swift warnings by @nashfive in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/27
    • Bumps libphonenumber on Android to 8.12.6 by @patuoynageek in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/28
    • Adding validate method by @onatcipli in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/31
    • PR for #12 by @thienvu18 in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/32
    • Upgrade files to latest plugin template version and update libraries by @nashfive in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/33
    • Fix PhoneNumber with 'national_number' format by @clouddevil in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/35
    • Bumps Android libphonenumber to v8.12.18 & iOS PhoneNumberKit to v3.3.3 by @patuoynageek in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/37
    • migrate to null safety by @VictorUvarov in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/39
    • Add Documentation by @VictorUvarov in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/43
    • Add localized name for the region by @nashfive in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/48
    • Update documentation and example for carrier region code by @VictorUvarov in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/52
    • Adds a TextEditingController that automatically formats TextField by @nicbn in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/54

    New Contributors

    • @vanyasem made their first contribution in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/7
    • @maqoo made their first contribution in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/9
    • @ened made their first contribution in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/14
    • @onatcipli made their first contribution in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/31
    • @thienvu18 made their first contribution in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/32
    • @clouddevil made their first contribution in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/35
    • @VictorUvarov made their first contribution in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/39
    • @nicbn made their first contribution in https://github.com/flutter-form-builder-ecosystem/phone_number/pull/54

    Full Changelog: https://github.com/flutter-form-builder-ecosystem/phone_number/compare/0.3.0...0.12.0+2

    Source code(tar.gz)
    Source code(zip)
Owner
Julien Vignali
Mobile developer (iOS / Flutter)
Julien Vignali
Eder Zambrano 0 Feb 13, 2022
A library for parsing and encoding IEEE-754 binary floating point numbers.

Dart IEEE754 library This library provides decoding and transforming IEEE754 floating point numbers in binary format, double format, or as exponent an

null 0 Dec 24, 2021
A simple and customizable flutter package for inputting phone number in intl / international format uses Google's libphonenumber

Intl Phone Number Input A simple and customizable flutter package for inputting phone number in intl / international format uses Google's libphonenumb

Ogunye Nathaniel Oluwatobiloba 138 Dec 11, 2022
null 1 Jan 29, 2022
Package provides light widgets [for Linkify, Clean] and extensions for strings that contain bad words/URLs/links/emails/phone numbers

Package provides light widgets [for Linkify, Clean] and extensions for strings that contain bad words/URLs/links/emails/phone numbers

BetterX.io 4 Oct 2, 2022
Object-oriented package for validating Flutter form fields.

formdator Contents Overview Getting Started List of Validators Categories Demo Application References Overview Form Validator β€” Formdator is a fully o

Dartoos 10 Oct 26, 2022
Presentation-Remote-PC - Manage your presentation from your smart phone - Phone Client

Presentation-Remote-PC Manage your presentation from your smart phone - Phone Cl

Hasan Ragab Eltantawy 1 Jan 25, 2022
A package that exports functions for converting, formatting, and nicening of dates/times in Dart.

Instant A library for manipulating and formatting DateTimes in Dart. Dates and times have never been easier. | DateTime timezone manipulation | Easy f

Aditya Kishore 10 Jan 22, 2022
WYSIWYG editor for Flutter with a rich set of supported formatting options. (WIP)

✨ rich_editor WYSIWYG editor for Flutter with a rich set of supported formatting options. Based on https://github.com/dankito/RichTextEditor, but for

Festus Olusegun 116 Dec 27, 2022
"FlutterMoneyFormatter" is a Flutter extension to formatting various types of currencies according to the characteristics you like, without having to be tied to any localization.

FlutterMoneyFormatter FlutterMoneyFormatter is a Flutter extension to formatting various types of currencies according to the characteristics you like

Fadhly Permata 81 Jan 1, 2023
Dart library for parsing relative date and time.

Dateparser Dart library for parsing relative date and time. Examples just now a moment ago tomorrow today yesterday 10 days remaining 2 hours ago 2 mo

Mensch272 5 Sep 20, 2022
An intuitive Token Parser that includes grammar definition, tokenization, parsing, syntax error and debugging. Implementation based on Lexical Analysis for Dart.

Token Parser An intuitive Token Parser that includes syntax/grammar definition, tokenization and parsing. Implementation based on Lexical Analysis. Re

JUST A SNIPER ツ 2 Dec 15, 2022
Flutter RSS feed parsing - A demo application of flutter which parse RSS XML contents to the flutter application

Flutter RSS feed parsing demo This is demo application of flutter which shows ho

Nyakuri Levite 3 Nov 15, 2022
Fluter-json - App Demonstrating JSON Data Parsing with various flutter widgets

users_list Flutter App to Demonstrate JSON Parsing Getting Started This project is a starting point for a Flutter application. A few resources to get

Khurram Rizvi 5 Jul 10, 2021
Low-level link (text, URLs, emails) parsing library in Dart

linkify Low-level link (text, URLs, emails) parsing library in Dart. Required Dart >=2.12 (has null-safety support). Flutter library. Pub - API Docs -

Charles C 60 Nov 4, 2022
A class for parsing strings using a sequence of patterns.

This package exposes a StringScanner type that makes it easy to parse a string using a series of Patterns. For example: import 'dart:math' as math; i

Dart 51 Nov 8, 2022
Numbers is simple game to improve problem solving skills and it is built in Flutter Framework

Numbers - Flutter Game Numbers is a simple game built in Flutter Framework and is purely based on numbers to improve problem solving skills. Screensho

Thamaraiselvam 49 Oct 21, 2022
A Mobile application developed with Flutter and Dart to do math operations with binary numbers.

Math operations with Binary Numbers Readme PT About this Project Mobile application developed with Flutter and Dart to do math operations as sum, subt

Manoel Ribeiro 3 Nov 3, 2020
Find underused colors, overused magical numbers and the largest classes in any Flutter project.

Flutter Resource Ranker It is easy to overuse colors, write magical numbers or long classes. This project has a script to help you detect these. This

Bernardo Ferrari 24 Jul 12, 2021