JAVASCRIPT

Validando placas de veiculos com JavaScript

Validando placas de carros ou motos nos formatos atual ou novo com JS

03/11/2019JAVASCRIPT

Vamos aprender como validar placas de veículos com JavaScript. Mas antes, vamos entender os formatos existentes.

Desde 1990 o formato das placas de veículos no Brasil segue o padrão de 3 letras e quatro números. A partir de 2016 passou a ser implantado um padrão de placa comum aos países que fazer parte do Mercosul, este novo formato mantem o mesmo tamanho do padrão atual (7 caracteres), mas, com algumas diferenças, as 3 letras iniciais continuam, mas a parte reservada aos números sofre a substituição de uma dos números por uma letra. 

Portanto, o novo padrão tem 4 letras e 3 números. Deste 2019, todos os veículos novos passam a utilizar este formato de placa.

Para validar os diferentes formatos de placa, vamos utilizar expressões regulares. Vamos começar com o formato atual. Uma expressão regular para validar este formato ficaria assim:

var placa = "ABC1234";

const regexPlaca = /^[a-zA-Z]{3}[0-9]{4}$/;

if(regexPlaca.test(placa)){

console.log("Placa válida");

} else {

console.log("Placa inválida");

}

Vamos entender melhor esta expressão regular.Ela se digite em duas partes:

/^[a-zA-Z]{3}

Significa que ela deve começar com 3 caracteres, e estes caracteres podem ser todas as letras minúsculas (a-z) ou maiúsculas (A-Z). O "[]" serve para informar o que deve ser aceito, e o "{}" se refere a quantidade de caracteres que são esperados.

[0-9]{4}$

Significa que ela deve ter terminar com quatro números.

Com base nisso, podemos montar os outros formatos de placa. O padrão Mercosul tem pequenas variações relacionadas ao tipo de veículo. Para um carro, o formato é AAA-1A11 (3 letras, 1 número, 1 letra e 2 números). Para motocicletas, o padrão é AAA-11A1 (3 letras, 2 números, 1 letra e 1 número)

Para validar os 3 formatos ao mesmo tempo, vamos criar uma função. O código complete segue abaixo:

function validarPlaca(placa){

var resposta = "placa inválida";

const regexPlaca = /^[a-zA-Z]{3}[0-9]{4}$/;

const regexPlacaMercosulCarro = /^[a-zA-Z]{3}[0-9]{1}[a-zA-Z]{1}[0-9]{2}$/;

const regexPlacaMercosulMoto = /^[a-zA-Z]{3}[0-9]{2}[a-zA-Z]{1}[0-9]{1}$/;

if(regexPlaca.test(placa)){

resposta = "Placa válida no formato atual";

}

if(regexPlacaMercosulCarro.test(placa)){

resposta = "Placa válida (padrão Mercosul - carro)";

}

if(regexPlacaMercosulMoto.test(placa)){

resposta = "Placa válida (padrão Mercosul - moto)";

}

return resposta;

}

console.log("teste");

console.log(validarPlaca("ABC1234"));

console.log(validarPlaca("ABC12356"));

console.log(validarPlaca("ABC12D5"));

console.log(validarPlaca("ABC1D15"));

console.log(validarPlaca("ABC12D51"));

Outros conteudos que podem ser de seu interesse

Remover acentos e caracteres especiais com JavaScript
13/10/2019JAVASCRIPT

Remover acentos e caracteres especiais com JavaScript

Aprenda a remover acentos usando JS com apenas uma linha de código

Saiba mais...
Verificar a conexão com o Phonegap
12/03/2017JAVASCRIPT

Verificar a conexão com o Phonegap

Veja um exemplo de como verificar se existe conexão com a Internet

Saiba mais...

Conteúdo sobre banco de dados sem complicação!

MySQL - Referência Rápida

 

SQL Server - Referência Rápida

 

SQL vs Mongo