Criando uma validação de Ano/Modelo com Regex

Há várias formas de fazermos validação, umas delas é com Regex, a qual é uma excelente opção em cenários que recebemos o input de dados no formato de texto e não conseguimos ter um alto controle sobre o recebimento do dado.

Abaixo, vou demostrar uma criar uma validação para um texto (uma String) com o objetivo de validar Ano/Modelo de um veículo.

Possíveis valores: 2015, 2015/2015

  • [0-9] = caracteres de 0 a 9
  • {4} = define que são 4 caracteres
  • [/] = define o caracter “/”
  • ? = define o caracteres antecedente como opcional
  • Regex:

    [0-9]{4}[/]?([0-9]{4})?
    
    • [0-9]{4} = 4 caracteres de 0 a 9 obrigatórios
    • [/]? = Uma barra “/” opcional
    • ([0-9]{4})? = 4 caracteres de 0 a 9 opcionais

    Outra opção seria substituir os caracteres de 0 a 9 por \d+, que referencia apenas caracteres decimais, por exemplo:

    [\\d+]{4}[/]?([\\d+]{4})?
    

    Aplicando a Regex em uma String no Java:

    private static final REGEX_ANO_MODELO = [\\d+]{4}[/]?([\\d+]{4})?;
    
    public boolean validarAnoModelo(String anoModelo) {
      return anoModelo.matches(REGEX_ANO_MODELO);
    }
    

    matches: é um método na classe String que indica se essa seqüência de caracteres corresponde ou não a expressão regular fornecida.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s