Skip to content

singuerinc/spanish-car-plate

Repository files navigation

npm Codacy grade Travis (.org) Coverage Status Known Vulnerabilities npm bundle size (minified)

Spanish Car Plate

Spanish car plate validation
Validación de matriculas de coches en España

Installation

npm i spanish-car-plate

Usage

isValid()

import { isValid, isOld } from "spanish-car-plate";

isValid("1234BCD"); //=> true
isValid("1234 FGH"); //=> true
isValid("2345-JKL"); //=> true

// note: old valid plates also returns true
isOld("A 0849 CS") === isValid("A 0849 CS"); //=> true

isOld()

import { isOld } from "spanish-car-plate";

// one-letter code
isOld("A 0849 CS"); //=> true

// two-letter code
isOld("GI-1234-BL"); //=> true

// two/three-letter special code (such as ET for army cars and DGP for police cars)
isOld("DGP 1234 BL"); //=> true

isSpecial()

Police, Air force, Army, Navy, etc. have special plates.

import { isSpecial } from "spanish-car-plate";

isSpecial("DGP 3874"); //=> true
isSpecial("CNP-5764"); //=> true
isSpecial("E8720"); //=> true

getCounter()

import { getCounter } from "spanish-car-plate";

getCounter("1234 BCD"); //=> "BCD"
getCounter("A-0849 CS"); //=> "CS"

getProvinceName()

It is possible to get the province's name from old plates

import { getProvinceName } from "spanish-car-plate";

getProvinceName("B 1234 BL"); //=> "Province of Barcelona"
getProvinceName("M-1234 BL"); //=> "Community of Madrid"
getProvinceName("SO 1234 BL"); //=> "Province of Soria"

getProvinceCode()

It is possible to get the province's code from old plates

import { getProvinceCode } from "spanish-car-plate";

getProvinceCode("B 1234 BL"); //=> "B"
getProvinceCode("M 1234 BL"); //=> "M"
getProvinceCode("SO-1234 BL"); //=> "SO"

getSpecialCode()

import { getSpecialCode } from "spanish-car-plate";

getSpecialCode("DGP1234"); //=> "DGP"

getSpecialName()

import { getSpecialName } from "spanish-car-plate";

getSpecialName("DGP1234"); //=> "Spanish Police"
getSpecialName("CME1234"); //=> "Corps of the Mossos d'Esquadra"

getNumber()

import { getNumber } from "spanish-car-plate";

getNumber("DGP0001"); //=> "0001"
getNumber("CME1234"); //=> "1234"

parse()

Get all the information about the plate

Parse new plate

import { parse } from "spanish-car-plate";

parse("1234 BCD");
{
  "isSpecial": false,
  "isOld": false,
  "provinceCode": null,
  "provinceName": null,
  "number": 1234,
  "counter": "BCD"
}

Parse old plate

parse("GI 2345 BC");
{
  "isSpecial": false,
  "isOld": true,
  "provinceCode": "GI",
  "provinceName": "Province of Girona",
  "number": 2345,
  "counter": "BC"
}

Demo

https://spanish-car-plate.netlify.com/

Related

Reference

https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Spain