1
resposta

[Projeto] Validação de senha

import java.util.Scanner;

public class ValidandoSenha {
    static void main(String[] args) {
        Scanner ler = new Scanner(System.in);

        System.out.println("Digite a senha: ");
        String senha = ler.nextLine();

        String regex = "^(?=.*[A-Z])(?=.*[a-z])(?=.*\\d)(?=.*[@$!%*?&])[A-Za-z\\d@$!%*?&]{8,}$";
        if (senha.matches(regex)){
            System.out.println("Senha válida.");
        }else {
            System.out.println("A senha não é válida.");
        }
        ler.close();
    }
}
1 resposta

Oi, Gabriel! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Gostei da forma como você estruturou a validação com regex, cobrindo maiúsculas, minúsculas, número, caractere especial e tamanho mínimo. Isso mostra um bom cuidado com regras de segurança e clareza no código.

Uma dica interessante para o futuro é usar a classe Pattern e Matcher, que deixam a validação mais reutilizável em projetos maiores:


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

String regex = "^(?=.*[A-Z])(?=.*[a-z])(?=.*\\d).{8,}$";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(senha);

if (matcher.matches()) {
    System.out.println("senha valida");
} else {
    System.out.println("senha invalida");
}

Esse código separa a regra da verificação, facilitando manutenção e reaproveitamento.

Conteúdos relacionados
Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!