Expressão regular somente para número, letras maiúsculas e minúsculas

Pessoal,

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:

Deuma olhada aqui.

http://www.guj.com.br/posts/list/73628.java

http://forum.wmonline.com.br/topic/143342-verificar-se-numero-e-inteiro/

http://www.marloncarvalho.net/alfred/doc/net/marloncarvalho/alfred/numeros/Numeros.html

http://www.guj.com.br/posts/list/91707.java

[quote=Bird89du]Pessoal,

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: [/quote]

Qual erro?

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!

import java.text.ParseException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;


public class Test {

	/**
	 * @param args
	 * @throws ParseException 
	 */
	public static void main(String[] args) throws ParseException {
		System.out.println(isCampoValido("9a"));
		System.out.println(isCampoValido("9A"));
		System.out.println(isCampoValido("a9a"));
		System.out.println(isCampoValido("9a0"));
		System.out.println(isCampoValido("9a+"));
	}
	
	public static boolean isCampoValido(String texto){   
	    Pattern p = Pattern.compile("[a-zA-Z0-9]+");   
	    Matcher m = p.matcher(texto);   
	    return m.matches();   
	}  

}

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}.

[quote]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}.[/quote]

É isso ai, deu certo.

Respondendo a pergunta do rogelgarcia: não validava os caracteres.

valeu pessoal

Sensacional, parceiro!