Iniciamos hoje com um exemplo prático usando as funções indexOf() e chatAt() do Javascript.
- Validando uma PLACA de CARRO:
/* Primeiramente, devemos saber que uma placa de carro deve ter exatamente 7 caracteres (os 3 primeiros devem letras e os 4 últimos devem ser números). Iremos fazer uma função chamada "validaPlaca", que pega como parâmetro uma String qualquer e verifica se a mesma é ou não uma placa válida. */
var validaPlaca = function(placa) {
try {
var letras = "abcdefghijklmnopqrstuvwxyz"; // declaramos as letras válidas
var numeros = "0123456789"; // declaramos os números
placa = placa.toLowerCase(); // deixamos com que a String fique toda em letras-minúsculas para padronizar a validação
if (placa.length != 7) { // placa deve conter exatamente 7 caracteres!
throw "A placa digitada não contêm 7 dígitos! Verifique!"; //lançamento de exceção usando throw
return false;
}
var tresPrimeiros = placa.substr(0,3); // pegamos os 3 primeiros caracteres da string, para verificar se são letras
var quatroUltimos = placa.substr(3,4); // pegamos os 4 últimos caracteres da string, para verificar se são números
for (var i = 0; i < tresPrimeiros.length; i++) {
if (letras.indexOf(tresPrimeiros.charAt(i)) < 0) { //verificamos com chatAt() cada um dos 3 caracteres, e com indexOf(), se o caracter está contido na variável "letras"
throw "Os três primeiros caracteres devem ser letras! Verifique!";
return false;
}
}
for (var i = 0; i < quatroUltimos.length; i++) {
if (numeros.indexOf(quatroUltimos.charAt(i)) < 0) { //verificamos com chatAt() cada um dos 4 caracteres, e com indexOf(), se o caracter está contido na variável "numeros"
throw "Os quatro últimos caracteres devem ser números! Verifique!";
return false;
}
}
return true;
} catch (e) {
alert(e); // mostramos a possível exceção na tela
}
}
Copie esta função e cole em um arquivo .html para testar.
Logo em seguida da função, coloque o seguinte código:
var digita = prompt("Digite uma placa:");
if (validaPlaca(digita)) {
alert("A placa é válida! ");
}
Nenhum comentário:
Postar um comentário