IbanNet 1.2.0
See the version list below for details.
dotnet add package IbanNet --version 1.2.0
NuGet\Install-Package IbanNet -Version 1.2.0
<PackageReference Include="IbanNet" Version="1.2.0" />
paket add IbanNet --version 1.2.0
#r "nuget: IbanNet, 1.2.0"
// Install IbanNet as a Cake Addin #addin nuget:?package=IbanNet&version=1.2.0 // Install IbanNet as a Cake Tool #tool nuget:?package=IbanNet&version=1.2.0
IbanNet
IbanNet is a .NET library providing functionality to validate and parse an International Bank Account Number also known as IBAN.
Usage
Parse
The simplest way to use this library is to use the static Parse
method:
Iban iban = Iban.Parse("NL91ABNA0417164300");
When parsing fails, an IbanFormatException
is thrown, which contains a property Result which indicates the type of error that occurred.
TryParse
To parse an IBAN without throwing an exception use TryParse
.
Iban iban;
bool success = Iban.TryParse("NL91ABNA0417164300", out iban);
The only downside is there is no way to retrieve the type of validation error that occurred if parsing fails.
IbanValidator
Lastly, you can use the validator directly:
IIbanValidator validator = new IbanValidator();
IbanValidationResult validationResult = validator.Validate("NL91ABNA041716430");
The benefit of using the validator is that it implements the IIbanValidator
interface. This allows for mocking and using a DI container. It is recommended that when you do, that you cache the validator or register it as a singleton, since the initialization - although not much - does introduce some overhead when initializing the IBAN validation rules.
Iban type
Iban.Parse
and Iban.TryParse
return a type Iban. The Iban type is entirely optional, and if you use the validator directly you won't ever need to use this type.
However, this type does provide some useful features:
Format IBAN
To convert an Iban type to a string, call the ToString() method with either of 2 formats:
Format | Result |
---|---|
F | NL91ABNA0417164300 |
S | NL91 ABNA 0417 1643 00 |
Equals
Whether or not you parsed NL91 ABNA 0417 1643 00
or NL91ABNA0417164300
, these IBAN are considered equal.
Mocking the static Parse/TryParse methods
If you use the static methods because you would like to use the Iban type, you can still mock the underlying validator for testing purposes by setting the static property Iban.Validator
.
Installation
Install IbanNet via NuGet.
Visual Studio / .NET Framework
Install-Package IbanNet
.NET CLI
dotnet add package IbanNet
Future enhancements
- Add support for conversion from BBAN to IBAN via 3rd party API's.
Supported .NET targets
- .NET 4.5.2
- .NET 4.6.2
- .NET Standard 1.2
Requirements
- Visual Studio 2017
- .NET Core 2.0 SDK
Contributions
Since this is a new package I'm still working on CI, refactoring and perhaps some restructuring. PR's are welcome but keep this in mind, as it may cause me to decline PR's if upcoming changes may conflict too much with PR's.
Contributors
- skwas (author/maintainer)
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp1.0 was computed. netcoreapp1.1 was computed. netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard1.2 is compatible. netstandard1.3 was computed. netstandard1.4 was computed. netstandard1.5 was computed. netstandard1.6 was computed. netstandard2.0 was computed. netstandard2.1 was computed. |
.NET Framework | net451 was computed. net452 is compatible. net46 was computed. net461 was computed. net462 is compatible. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen30 was computed. tizen40 was computed. tizen60 was computed. |
Universal Windows Platform | uap was computed. uap10.0 was computed. |
Windows Phone | wpa81 was computed. |
Windows Store | netcore451 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.5.2
- No dependencies.
-
.NETFramework 4.6.2
- No dependencies.
-
.NETStandard 1.2
- NETStandard.Library (>= 1.6.1)
NuGet packages (10)
Showing the top 5 NuGet packages that depend on IbanNet:
Package | Downloads |
---|---|
IbanNet.FluentValidation
FluentValidation support to validate IBAN user input. |
|
IbanNet.DependencyInjection.ServiceProvider
Microsoft.Extensions.DependencyInjection integration for IbanNet; IbanNet provides an IBAN validator and parser. |
|
DTF.Common.V2
Digital Tax Free basic models and abstractions. |
|
IbanNet.DataAnnotations
Data annotations to validate IBAN user input. |
|
IbanNet.DependencyInjection.Autofac
Autofac IoC container integration for IbanNet; IbanNet provides an IBAN validator and parser. |
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on IbanNet:
Repository | Stars |
---|---|
skwasjer/IbanNet
C# .NET IBAN validator, parser, builder and generator
|
Version | Downloads | Last updated |
---|---|---|
5.16.1 | 24,965 | 10/9/2024 |
5.16.0 | 5,971 | 10/5/2024 |
5.15.0 | 187,563 | 6/21/2024 |
5.14.0 | 339,624 | 1/20/2024 |
5.13.0 | 101,219 | 12/21/2023 |
5.12.0 | 187,912 | 10/20/2023 |
5.11.0 | 78,161 | 8/30/2023 |
5.10.0 | 93,642 | 7/15/2023 |
5.9.0 | 166,894 | 5/20/2023 |
5.8.1 | 199,948 | 4/15/2023 |
5.8.0 | 189,630 | 2/2/2023 |
5.7.2 | 82,638 | 1/1/2023 |
5.7.1 | 133,940 | 11/4/2022 |
5.7.0 | 76,247 | 10/9/2022 |
5.6.2 | 89,700 | 10/2/2022 |
5.6.1 | 150,126 | 7/22/2022 |
5.6.0 | 20,411 | 7/9/2022 |
5.5.1 | 25,772 | 6/23/2022 |
5.5.0 | 134,525 | 5/12/2022 |
5.4.0 | 349,444 | 12/31/2021 |
5.3.2 | 15,409 | 12/18/2021 |
5.3.1 | 70,832 | 11/14/2021 |
5.3.0 | 2,512 | 11/13/2021 |
5.2.0 | 10,621 | 11/10/2021 |
5.1.0 | 64,596 | 9/27/2021 |
5.0.0 | 28,123 | 8/21/2021 |
5.0.0-beta0001 | 2,125 | 6/17/2021 |
4.4.3 | 13,371 | 8/21/2021 |
4.4.2 | 89,086 | 6/17/2021 |
4.4.1 | 9,014 | 6/13/2021 |
4.4.0 | 3,556 | 6/12/2021 |
4.3.1 | 49,022 | 6/5/2021 |
4.3.0 | 318,765 | 11/27/2020 |
4.2.0 | 23,490 | 11/7/2020 |
4.1.0 | 73,899 | 8/8/2020 |
4.0.1 | 168,655 | 5/12/2020 |
4.0.0 | 99,626 | 2/8/2020 |
4.0.0-beta0241 | 2,206 | 2/8/2020 |
4.0.0-beta0227 | 1,536 | 2/8/2020 |
4.0.0-beta0223 | 2,556 | 2/8/2020 |
4.0.0-beta0222 | 1,794 | 2/8/2020 |
4.0.0-beta0204 | 1,607 | 2/6/2020 |
4.0.0-beta0190 | 1,661 | 1/14/2020 |
4.0.0-beta0187 | 2,614 | 1/13/2020 |
4.0.0-beta0186 | 1,559 | 1/13/2020 |
4.0.0-beta0183 | 1,617 | 1/13/2020 |
4.0.0-beta0178 | 35,308 | 12/30/2019 |
4.0.0-beta0177 | 1,636 | 12/29/2019 |
4.0.0-beta0172 | 1,627 | 12/29/2019 |
3.2.2 | 2,391 | 5/12/2020 |
3.2.1 | 40,481 | 1/14/2020 |
3.2.0 | 96,633 | 11/23/2019 |
3.1.2 | 2,859 | 10/25/2019 |
3.1.1 | 39,321 | 7/25/2019 |
3.1.0 | 23,751 | 5/10/2019 |
3.0.0 | 38,020 | 2/14/2019 |
2.1.0 | 27,134 | 9/18/2018 |
2.0.0 | 14,544 | 2/3/2018 |
1.2.0 | 1,889 | 12/25/2017 |
1.1.16 | 1,782 | 12/25/2017 |
1.0.19 | 1,927 | 12/25/2017 |
1.0.18 | 1,701 | 12/25/2017 |
1.0.17 | 2,579 | 12/25/2017 |