Validar com Expressão Regular

5 respostas
N

Pessoal como faço pra validar uma senha q não pode entrar letras e no maximo 5 numeros… fiquei sabendo da expressão regular [A-Z]{5} como eu escrevo esse metodo…

Brigadão galera

5 Respostas

rodrigo_gomes

olá,

de uma lida aqui
http://www.javafree.org/javabb/viewtopic.jbb?t=5090

pode te ajduar

[]´s
Rodrigo

N

Então foi de lá mesmo q eu vi… mas ainda to meio perdido… :roll:

Queria um exemplo pra eu entender melhor

thiago.correa

bom se você quer validar somente números a forma indicada não é esse que você escreveu, tente:

// a senha que vc quer testar
String teste1 = "testando"; 
// "compila"a expressão que será usada
Pattern p = Pattern.compile("[0-9]{5}"); 
// "pega" informações da strring que vc quer testar
Matcher m = p.macthes(teste1);

// confere para ver se a senha passada bate exatamente com o
// padrão
if ( m.matches() ) {
    System.out.println("Senha ok");
} else {
    System.out.println("Senha não está ok");
}

String teste2 = "22222";
m = p.matches(teste2);

if ( m.matches() ) {
    System.out.println("Senha ok");
} else {
    System.out.println("Senha não está ok");
}

P.S.: Estou sem o java na minha máquina dew casa, testa aí, qualquer dúvida é só perguntar

N

Certo… então se eu for usar isso hein Struts quando quando chamar o get fica assim certo…

ContatoForm contato = (ContatoForm) form;

String senha = contato.getSenha();

Pattern p = Pattern.compile("[0-9]{5}");

Matcher m = p.macthes(senha);

ou assim:

String senha2 = contato.getSenha();
m = p.matches(senha2);

if ( m.matches() ) {

System.out.println(Senha ok);

} else {

System.out.println(Senha não está ok);

}
thiago.correa

Isso, só que ao invés de você imprimir uma saída para o console você pode usar o ActionErrors do Struts caso a senha não bata, caso contrário a Action continuaria com o seu fluxo normal.
Preste atenção para o seguinte detalhe, essa ER ela irá validar uma senha que seja somente números e que contenha 5 dígitos menos ou mais que isso será uma senha inválida, pesquise sobre ER para saber como ela funciona.

Criado 19 de agosto de 2006
Ultima resposta 21 de ago. de 2006
Respostas 5
Participantes 3