Validar com Expressão Regular

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

olá,

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

pode te ajduar

[]´s
Rodrigo

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

Queria um exemplo pra eu entender melhor

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

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”);
}

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.