Skip to content

Latest commit

 

History

History
59 lines (43 loc) · 2.15 KB

File metadata and controls

59 lines (43 loc) · 2.15 KB

standards

Go Reference Test Code Coverage Go Report Card License MIT


About

Boringly simple parsing and validation for various notations.

Supported Standards

  • 🏦 BICs
  • 💰 IBANs with country-specific BBAN validation
  • 🏴‍☠️ ISO3166-1 Alpha2 (e.g. DE, or ES)
  • 🚑 German Health Insurance Numbers (Krankenversicherungsnummern)
  • 🧓 German Pension Insurance Numbers (Renten-/ Sozialversicherungsnummern)
  • 💲 German Tax Identification Numbers (Steuer-IDs)
  • ✉ German Postal Codes (Postleitzahlen)

Each Package Is the Same

Each standard is implemented in its own package, and each package provides a type for the standard, e.g. bic.BIC for BICs. That type contains all the information that can be extracted from the notation.

package bic

type BIC struct {
	BusinessPartyPrefix string
	CountryCode         string
	BusinessPartySuffix string
	BranchCode          string
}

Each type implements:

  • String() string to get the notation pretty-printed
  • Compact() string to get the notation in compact, machine-readable form
  • MarshalText() ([]byte, error) same as Compact
  • UnmarshalText([]byte) error to parse the notation

Additionally, each package provides these two functions:

  • Parse(string) (Type, error) parses the given string, and validates it
  • IsValid(string) bool simply checks whether the given string is valid in the given standard.

License

Built with ❤ by Maximilian von Lindern. Available under the MIT License.