Validar CPF em tempo de execução é essencial para garantir a integridade dos dados de usuários em aplicações C#. Este método utiliza o algoritmo padrão de validação de CPF, que verifica os dígitos verificadores, garantindo que o número seja matematicamente correto.
Para validar um CPF em tempo de execução, você pode criar um método estático que recebe a string do CPF e retorna um booleano indicando se é válido ou não. O algoritmo verifica se o CPF tem 11 dígitos, se não é uma sequência inválida (como "00000000000") e calcula os dígitos verificadores.
public static bool ValidarCPF(string cpf)
{
// Remover caracteres não numéricos
cpf = Regex.Replace(cpf, @"[^0-9]", "");
// Verificar se o CPF tem 11 dígitos
if (cpf.Length != 11)
return false;
// Verificar se todos os dígitos são iguais
if (Regex.IsMatch(cpf, @"^(\d)\1+$"))
return false;
// Calcular o primeiro dígito verificador
int soma = 0;
for (int i = 0; i < 9; i++)
soma += (cpf[i] - '0') * (10 - i);
int resto = soma % 11;
if (resto < 2)
resto = 0;
else
resto = 11 - resto;
if ((cpf[9] - '0') != resto)
return false;
// Calcular o segundo dígito verificador
soma = 0;
for (int i = 0; i < 10; i++)
soma += (cpf[i] - '0') * (11 - i);
resto = soma % 11;
if (resto < 2)
resto = 0;
else
resto = 11 - resto;
return (cpf[10] - '0') == resto;
}
Abaixo, uma tabela mostrando exemplos de CPFs válidos e inválidos, e o resultado esperado da validação:
| CPF de Entrada | Válido? | Resultado Esperado |
|---|---|---|
| 12345678909 | Sim | True |
| 11111111111 | Não | False |
| 123.456.789-09 | Sim | True |
| 12345 | Não | False |
Para usar o método de validação em sua aplicação C# console, basta chamá-lo dentro do método Main ou em qualquer outra função, passando a string do CPF como parâmetro. O método retornará true se o CPF for válido e false caso contrário.
static void Main(string[] args)
{
Console.Write("Digite o CPF: ");
string cpf = Console.ReadLine();
if (ValidarCPF(cpf))
Console.WriteLine("CPF válido!");
else
Console.WriteLine("CPF inválido!");
}
Com este método de validação de CPF em C#, você garante que os dados de usuários sejam verificados em tempo de execução, evitando erros de digitação e garantindo a integridade das informações. A implementação é simples e eficiente, sendo ideal para aplicações que exigem validação de documentos brasileiros.