All notable changes to this project are documented here. The format follows Keep a Changelog, and the project adheres to Semantic Versioning.
Coverage expansion: 71 -> 90 identifier types. Adds LatAm tax IDs (Nubank/MercadoLibre audience), more EU national/person IDs, research IDs (ORCID/ISNI), and the longer GS1 keys. Every new checksum is clean-room from the public standard (or engine-backed) and verified against a real published number.
:ean8 (EAN-8/GTIN-8), :ismn (sheet-music ISMN),
:cas (CAS Registry Number for chemicals), :imo (IMO ship number). Clean-room / engine-backed,
each verified against a real published number.:fr-nir (France social security), :pl-pesel (Poland), :ar-cuit
(Argentina), :cl-rut (Chile), :co-nit (Colombia). Clean-room, each verified against a real
published number.:pe-ruc (Peru), :ie-pps (Ireland PPS), :ee-ik (Estonia isikukood),
:jmbg (shared ex-Yugoslav number: RS/BA/ME/MK/SI/HR), :ec-ced (Ecuador cedula). Clean-room,
each verified against a real published number.:bg-egn (Bulgaria), :orcid and :isni (researcher / name IDs, ISO 7064 MOD 11-2), and the
longer GS1 keys :gtin14 and :sscc. Clean-room, each verified against a real published number.Coverage expansion: 54 -> 71 identifier types, adding a commerce/vehicle/health category and APAC business IDs. Every new checksum is clean-room from the public standard (or engine-backed) and verified against a real published number.
:nz-ird (New Zealand IRD), :be-nn (Belgium national number), :fi-hetu (Finland HETU).
Clean-room, verified against published numbers.:figi (Financial Instrument Global Identifier, OMG check digit) and four more EU VAT numbers:
:mt-vat (Malta), :sk-vat (Slovakia), :lt-vat (Lithuania), :cy-vat (Cyprus). Clean-room,
each verified against a real published number.:ro-vat (Romania CUI), :sg-nric (Singapore NRIC/FIN, S/T/F/G series), :hk-id (Hong Kong
HKID), :kr-brn (South Korea Business Registration Number). Clean-room, each verified against a
real published number.:ean13 (EAN-13/GTIN-13 barcode), :upc (UPC-A), :vin (ISO
3779 vehicle ID), :nhs (UK NHS number), :npi (US National Provider Identifier). Barcode checks
are engine-backed (Commons Validator EAN-13); VIN/NHS/NPI are clean-room, each verified against a
real published number.Coverage expansion: 40 -> 54 identifier types, spanning ~24 countries. Every checksum clean-room from the public standard and verified against published example numbers.
:gr-vat :lu-vat :si-vat :ee-vat :hu-vat :in-gstin (India GST, base-36
check char).:pt-nif :cz-ico :jp-cn :au-tfn :hr-oib (Croatia OIB),
:it-cf (Italy codice fiscale, mod-26 check letter), :ch-uid :ch-ahv (Switzerland).Big coverage expansion: 13 -> 40 identifier types. Every new checksum is clean-room from the public standard and verified against published example numbers (no third-party port; stays EPL).
:de-vat :fr-vat :it-vat :be-vat
:pl-vat :gb-vat :at-vat :dk-vat :fi-vat :se-vat.:gb-nino, :ca-sin, :au-abn, :in-pan, :in-aadhaar, :es-dni, :es-nie,
:nl-bsn, :cn-ric, :se-pnr, :za-id, :no-org, :tr-tc.:mx-clabe (Mexico CLABE bank account).:cusip (US/Canada), :sedol (UK/Ireland) -
rounding out the :isin/:lei set.:us-ssn (area/group/serial
rules + the SSA's reserved advertising numbers, with format) and :us-ein (IRS campus prefix
validation, with format).:lei - Legal Entity Identifier (ISO 17442, ISO 7064 mod-97-10).:br-cpf - Brazil individual taxpayer registry, with format.:br-cnpj - Brazil company registry, with format.compact/format now also strip / (used by the CNPJ written form).Country-specific identifiers are keyed by an ISO-3166 prefix (e.g. :br-cpf).
Initial release.
stdnum.core - a unified facade for validating, parsing, and formatting standard
identifier numbers, dispatched on a type keyword:
valid?, parse, format, compact, detect, card-network, and the types set.:credit-card (with network detection), :iban, :bic, :isbn,
:issn, :isin, :aba (US bank routing), :imei, :luhn.Can you improve this documentation?Edit on GitHub
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |