Verificador senhas

5 respostas
B

Como faço para comparar se em uma String existe pelo alguma letra do alfabeto minuscula por exemplo?

Eu havia feito

char[] lower = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z' }; for(int i = 0; i < lower.length; i++) { // pelo menos uma letra minúscula if(password.contains(lower[i])) { score++; break; } }

porém seria comparar uma String com um char, como eu poderia fazer isso?
e existe alguma maneira mais otimizada?
Valeu pessoal

5 Respostas

S

Olha faz o seguinte :idea: :idea: :idea: :idea:

String password, copiaPassword;

a variavel copiaPassword deve receber a password original, depois converte os valores todos da variavel copiaPassword para minusculo.
então ai comparas os caracteres da variavel password com os caracteres da variavel copiaPassword( compara apenas os caracteres da mesma posicao) e se encontrar caracteres iguais ( igual sem ignorar o case sensitive), então bingo é porque tem pelo menos 1 letra em minusculo.

M

Esse tópico pode ajudá-lo: http://www.daniweb.com/forums/showthread.php?t=240767&highlight=password+got+a+lowercase+letter+check+java

G

Acho que a forma mais simples de fazer o que você quer é algo como:

int upper =0, lower = 0;

for (char c : passwd.toCharArray()) {
    if (Character.isUpperCase(c)) {
        upper++;
    }

    if (Character.isLowerCase(c)) {
        lower++;
    }
}

No final você saberá a quantidade de upper e lower.

alves.Felipe

vc pode usar regex

Pattern p = Pattern.compile("[A-Z]+");
			Matcher m = p.matcher("COMQWE");
			boolean validado = m.matches();
			System.out.println(validado);

neste exemplo é apenas permitdo letras d A até Z maiusculas

B

vaaaleu, pessoal, todas as dicas são validas!

Criado 7 de julho de 2010
Ultima resposta 7 de jul. de 2010
Respostas 5
Participantes 5