Skip to content

VIN (Vehicle Identification Number) validation and diagnostic library.

Notifications You must be signed in to change notification settings

phillipsdata/vin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VIN

Build Status Coverage Status

VIN (Vehicle Identification Number) validation and diagnostic library.

Features

  • Validates North American VIN numbers.
  • Returns all possible years of manfacture for North American VIN numbers.
  • Returns the country of manufacturer for VINs defined by ISO 3779.
  • Supports custom readers for validating VINs outside of North America.

Installation

Install via composer:

composer require phillipsdata/vin

Basic Usage

use PhillipsData\Vin\Number;

$vin = new Number('1M8GDM9AXKP042788');

$vin->valid(); // returns whether the VIN is valid
$vin->country(); // returns the ISO 3166 country code for the country of origin
$vin->number(); // returns the VIN number (e.g. 1M8GDM9AXKP042788)
$vin->year(); // returns an array of possible manufacturer years

Advanced Usage

You can supply your own VIN reader. This allows you to implement a VIN reader for vehicles manufactured in other countries (outside of North America).

use PhillipsData\Vin\Number;

$vin = new Number('1M8GDM9AXKP042788', new PhillipsData\Vin\Reader\NorthAmerica());

$reader = $vin->reader(); // returns instance of PhillipsData\Vin\Reader\ReaderInterface

Contributions

We're interested in contributions that add additional PhillipsData\Vin\Reader\ReaderInterface implementations for unsupported regions.

We'd also love for this library to support extracting Manufacturer (e.g. Ford, Chevrolet, etc.) based on the SAE's assignment of world manufacturer identifiers.

About

VIN (Vehicle Identification Number) validation and diagnostic library.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages