terça-feira, 27 de outubro de 2009

Usando as funções indexOf e charAt no javascript

Olá a todos!

Iniciamos hoje com um exemplo prático usando as funções indexOf() e chatAt() do Javascript.

  1. 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