Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
I

IsoCodes

> 编程语言
Open source

PHP library - Validators for standards from ISO, International Finance, Public Administrations, GS1, Manufacturing Industry, Phone numbers & Zipcodes for many c

803 stars0 likes1 views
WebsiteGitHub

About

PHP library - Validators for standards from ISO, International Finance, Public Administrations, GS1, Manufacturing Industry, Phone numbers & Zipcodes for many c

IsoCodes

PHP library - Validators for standards from ISO, International Finance, Public Administrations, GS1, Book Industry, Phone numbers & Zipcodes for many countries

Usage

…

ISO Codes Validations available:

International Finance

  • IBAN (requires bcmath PHP extension)
  • SWIFT/BIC
  • BBAN (RIB, requires bcmath PHP extension)
  • Credit Card number
  • SEDOL (Stock Exchange codes)

Manufacturing Industries

  • ISBN - International Standard Book Number, both 10 & 13 digits
  • ISMN - International Standard Music Number
  • ISSN - International Standard Serial Number
  • IMO - International Maritime Organization (Ship Identification Number)
  • ISWC - International Standard Musical Work Code
  • IMEI - International Mobile Equipment Identity
  • VIN - Vehicle Identification Number – ISO 3779 & ISO 4030

Public Administrations

  • ISIN - International Securities Identification Number
  • Country-specific VAT / tax system: various VAT number formats
  • France: Numéro de Sécurité Sociale / INSEE, SIREN, SIRET, Codes postaux, Clef Type 1/2 Norme B2
  • US: Social Security number
  • UK: National Insurance Number (NINO)
  • Belgium: Structured Ccommunication ("communication structurée")
  • Spain: NIF, NIE (Número de Identificación Fiscal/Extranjero) & CIF (Código de identificación fiscal)
  • Netherlands: Burgerservicenummer / Citizen Service Number (BSN)
  • Finland: HETU, Henkilötunnus (Finnish personal identity code)
  • Switzerland: Business Orgs UID (VAT) Number / Unternehmens-Identifikationsnummer

GS1 specific numbers/identifiers

  • GTIN - Global Trade Item Number: GTIN-8, GTIN-12, GTIN-13, GTIN-14
  • GLN - Global Location Number
  • SSCC - Serial Shipping Container Code
  • GRAI - Global Returnable Asset Identifier
  • GSRN - Global Service Relation Number
  • GDTI - Global Document Type Identifier
  • UDI - Unique Device Identification (the GTIN part of it)
  • Older/deprecated identifiers, now in GTIN: EAN-8, EAN-13, UCC-13, UPC-A, DUN-14, ITF-14

Logistics & Post

  • Identcode (Deutsche Post DHL)
  • Leitcode (Deutsche Post DHL)

Miscellaneous

  • ZIP code validators for 175+ countries
  • Phone number validation for all countries/regions of the world

Each code has its own validator. Each validator is illustrated by a unit test case.

IsoCodes is compatible with all versions of PHP that are actively supported by the PHP project.

Build status

Continously inspecting results (phpdoc, phpmd, phpcc, etc.) available on Scrutinizer CI

bcmath as an optional extension for certain validators

For IBAN & BBAN ISO-codes, PHP is required to be compiled with "--enable-bcmath" for arbitrary precision mathematic checks. Usually, you already have bcmath bundled in your PHP version, since many common PHP packages (php-cli, php-fpm, php5-cgi, libapache2-mod-php5, etc.) in stable GNU/Linux distribution releases (such as Debian) are listed as having bcmath built in to them, as an included module.

Installing

Via GitHub

bash
$ git clone [email protected]:ronanguilloux/IsoCodes.git
$ make # requires composer

Autoloading is PSR-0 friendly.

Via Packagist & Composer

Require the latest version of ronanguilloux/isocodes with Composer

bash
$ composer require ronanguilloux/isocodes

Wrappers

With Symfony Validator

Install Soullivaneuh/IsoCodesValidator to get IsoCodes working as Validator for Symfony and Silex.

With CakePHP 3

Install gourmet/validation to get IsoCodes working with CakePHP 3 as a validator.

With Laravel

Install pixelpeter/laravel5-isocodes-validation to get IsoCodes working with Laravel 5 as a validator. Install pixelpeter/laravel-isocodes-validation to get IsoCodes working with Laravel 10+ as a validator.

Supported PHP versions

  • till tags 2.3.9: PHP 7.*
  • from tags 2.4.0: PHP 8.*

Unit testing

bash
$ make tests

Make utilities

For development & contribution purpose only, a Makefile provides various tools to check your code style, quality & test coverage:

Usual tasks:

	To initialize vendors:  make
	To check code quality:	make quality
	To run tests suite:	    make tests
	To fix code style:	    make cs-fix

Other specific tasks:

	To evaluate code coverage:			        make codecoverage
	To run a simple continuous tests server:	make continuous
	To dry-fix code style issues:			    make dry-fix
	To evaluate code quality stats:			    make stats
	To update vendors using Composer:		    make update

Quality assurance report

Isocodes quality plan is mainly based on phpunit: it runs 980+ unit tests, with separated valid & invalid entry sets. Test values are mainly real data or documented examples from standard documentation, and a few handmade values.

The composer.json already includes these Php Quality Assurance Toolchain libraries:

  • pdepend
  • php-cs-fixer

Just run:

bash
$ make stats -i

XML report outputs are then generated in a new ./build folder

Code covering report built using Coveralls.io. How-to generate such code coverage report using PHPUnit.

License Information

  • GNU GPL v3
  • You can find a copy of this software here: https://github.com/ronanguilloux/IsoCodes

Contributing Code

The issue queue can be found at: https://github.com/ronanguilloux/IsoCodes/issues. See CONTRIBUTING.md.

Special thanks

Contributors list: Many thanks to all!

Many thanks to JetBrains PhpStorm for having sponsored the IsoCode library development from the very beginning! Any contributor having an accepted PR may receive an Open Source License Key for PhpStorm IDE. Just ping Ronan via email to get one.

Issues· 2 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

PHPadministrationsgs1gtininternational-finance

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言