diff --git a/demo/lib/main.dart b/demo/lib/main.dart index 840679e..f95bb01 100644 --- a/demo/lib/main.dart +++ b/demo/lib/main.dart @@ -86,6 +86,16 @@ class _MyHomePageState extends State { format: NsnFormat.international)) : const Text('-'), ), + ListTile( + title: const Text('Formatted with country code'), + trailing: phoneNumber != null + ? Text( + phoneNumber.format( + format: NsnFormat.international, + ), + ) + : const Text('-'), + ), ListTile( title: const Text('Iso code'), trailing: phoneNumber != null diff --git a/example/lib/main.dart b/example/lib/main.dart index efec3d1..ac7908c 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -36,10 +36,12 @@ void main(List arguments) { print(''); print('Formatting:'); final phoneNumber = - PhoneNumber.parse('2025550119', destinationCountry: IsoCode.US); + PhoneNumber.parse('+12025550119', destinationCountry: IsoCode.US); final formattedNsn = phoneNumber.formatNsn(); - print('formatted: $formattedNsn'); // (202) 555-0119 + print('formatted nsn: $formattedNsn'); // (202) 555-0119 print('international: ${phoneNumber.international}'); + final formatted = phoneNumber.format(); + print('formatted with country code: $formatted'); // +1 (202) 555-0119 // Ranges print(''); print('Ranges:'); diff --git a/lib/src/formatting/phone_number_formatter.dart b/lib/src/formatting/phone_number_formatter.dart index 2c3529e..ee7e0b6 100644 --- a/lib/src/formatting/phone_number_formatter.dart +++ b/lib/src/formatting/phone_number_formatter.dart @@ -51,7 +51,9 @@ class PhoneNumberFormatter { pattern: formatingRule.pattern, transformRule: transformRule, ); + formatted = _removeMissingDigits(formatted, missingDigits); + return formatted; } diff --git a/lib/src/phone_number.dart b/lib/src/phone_number.dart index c7e5ee6..430d728 100644 --- a/lib/src/phone_number.dart +++ b/lib/src/phone_number.dart @@ -67,6 +67,10 @@ class PhoneNumber { String formatNsn({IsoCode? isoCode, NsnFormat format = NsnFormat.national}) => PhoneNumberFormatter.formatNsn(nsn, isoCode ?? this.isoCode, format); + String format({IsoCode? isoCode, NsnFormat format = NsnFormat.national}) { + return '+$countryCode ${formatNsn(isoCode: isoCode, format: format)}'; + } + @Deprecated('Use [formatNsn] instead') String getFormattedNsn({IsoCode? isoCode}) => formatNsn(isoCode: isoCode);