standards

module
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 23, 2023 License: MIT

README

standards

Test Code Coverage Go Report Card License MIT


About

Boringly simple parsing and validation for various notations.

Supported Standards

  • 🏦 BICs (Business Identifier Codes/Bank Identifier Codes)
  • 💰 IBANs (International Bank Account Numbers) with country-specific BBAN validation
  • 🏴‍☠️ ISO3166-1 Alpha2 (Country Codes, such as DE, ES, etc.)
  • 🧓 German Pension Insurance Numbers (Rentenversicherungsnummern/Sozialversicherungsnummern)
  • 💲 German Tax Identification Numbers (Steuernummern)
  • ✉ 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
  • MarshalText() ([]byte, error) to get the notation in compact form
  • 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() 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.

Directories

Path Synopsis
Package bic provides parsing and validation of BIC (ISO 9362) codes.
Package bic provides parsing and validation of BIC (ISO 9362) codes.
de
Package de contains several subpackages providing validation/parsing for German specific standards/notations.
Package de contains several subpackages providing validation/parsing for German specific standards/notations.
pin
Package pin provides parsing and validation for German Pension Insurance Numbers (Rentenversicherungsnummer).
Package pin provides parsing and validation for German Pension Insurance Numbers (Rentenversicherungsnummer).
postalcode
Package postalcode provides parsing and validation for German ZIP codes (Postleitzahl).
Package postalcode provides parsing and validation for German ZIP codes (Postleitzahl).
tin
Package tin provides parsing and validation for German Tax Identification Numbers (Steuerliche Identifikationsnummer).
Package tin provides parsing and validation for German Tax Identification Numbers (Steuerliche Identifikationsnummer).
Package iban provides parsing and validation for International Bank Account Numbers (IBAN).
Package iban provides parsing and validation for International Bank Account Numbers (IBAN).
internal
validate
Package validate provides validation utilities.
Package validate provides validation utilities.
tools
codegen/iso3166-1
Command iso3166-1 generates [iso3166.Alpha2Code] structs for all iso3166-1 country codes.
Command iso3166-1 generates [iso3166.Alpha2Code] structs for all iso3166-1 country codes.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL