Formataçao de String com Numero

4 respostas
couta

e aii galera…
queria poder validar um campo PLACA de Veículo… que contem 3 letras iniciais e 4 Numero… EX : MNA2476

COMO QUE PODERIA FAZER ISSO?
EU VI ALGUMA COISA COMO CRIAR UMA MARCARA E USAR CAMPO FORMATADO…
ALGUEM PODE ME AJUDAR?

4 Respostas

UMC

O número da placa toda pode ser String!
você só vai comparar String com String!

String placa = "etc2010"; String placabd = "etc2010"; if(placa.equals(placabd)){ System...("Ok");

É isso!?

vlw

B
/**
    * Valida a placa de um veículo com 3 caracteres e 4 dígitos.
    * 
    * @param placa String da placa a ser validada.
    * @return true caso a placa seja válida.
    * @throws NullPointerException caso placa for null.
    */
   public static boolean isPlacaValida(String placa)
   {
      return placa.matches("[A-Z]{3}[0-9]{4}");
   }
couta

Vlw Bruno…isso deu certo
:smiley:

Agora outra pergunta…para ficar mais consistente!!

tem como formatar essa informação para que os 3 primeiros sejam obrigatoriamente LETRAS e os 4 ultimos Números…
sem que o usuario primeiro coloce numeros…ou 4letras e 3 numeros…

Na Medida que for digitando a placa ja vai comparando a formataçao LETRA LETRA LETRA NUM NUM NUM NUM

ABRAÇO…

N

Você pode trabalhar com PlainDocument, fiz o código aqui e funcionou belezinha:

import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.PlainDocument;

public class PlacaValidaDocument extends PlainDocument {

    private String placavalidaregex = "^([A-Z]{0,3})|([A-Z]{3}[0-9]{0,4})$";

    public PlacaValidaDocument() {
    }

    @Override
    public void insertString(int offset, String str, AttributeSet attr) throws BadLocationException {

        String novo = getText(0, getLength())+str;
        if (novo.matches(placavalidaregex))
        super.insertString(offset, str, attr); else
        return;
    }
}

Salva como um novo arquivo java, depois você faz o seguinte código pra funcionar.

jTextField2.setDocument(new PlacaValidaDocument()); //Onde jTextField2 é seu componente de texto.

Os testes que eu fiz aqui funcionaram direitinho.

Vlw.

Criado 6 de maio de 2010
Ultima resposta 6 de mai. de 2010
Respostas 4
Participantes 4