Preciso fazer uma expressão regular que retorne sucesso caso eu receba letras a-z e números 0-9, fiz o seguinte método:
public boolean isCampoValido(String texto){
Pattern p = Pattern.compile("[a-zA-Z0-9]");
Matcher m = p.matcher(texto);
return m.matches();
}
mas não está funcionando, retorna erro sempre, alguém pode me dar uma força?
:thumbup:
Qual erro?
thiago.correa
No seu código, se você colocar apenas, um número, ou uma letra, seja ela maiúscula ou minúscula, a função retorna ok, o que faltou, é dizer para a regex que ela pode aceitar outros caracteres do mesmo conjunto!
Complementando, o + faz com que você possua algum dos caracteres definidos no conjunto AO MENOS 1 VEZ.
caso queira ZERO OU MAIS VEZES, troca por um *. você pode definir o tamanho fixo ou com intervalo utilizando {4} ou {2,4}.
Bird89du
Complementando, o + faz com que você possua algum dos caracteres definidos no conjunto AO MENOS 1 VEZ.
caso queira ZERO OU MAIS VEZES, troca por um *. você pode definir o tamanho fixo ou com intervalo utilizando {4} ou {2,4}.
É isso ai, deu certo.
Respondendo a pergunta do rogelgarcia: não validava os caracteres.