Método para Validar CNPJ ou CPF com C# Csharp
No método em c#(Csharp) abaixo podemos validar um CPF ou CNPJ de acordo com o tamanho da string 11 para CPF e 14 para CNPJ.
/// <summary>
/// Valida CPF ou CNPJ de acordo com o tamanho da string 11 para CPF e 14 para CNPJ
/// </summary>
/// <param name="cpfCNPJ"></param>
/// <returns></returns>
public bool ValidaCpfCNPJ(string cpfCNPJ)
{
if (cpfCNPJ.Length == 11)
{
int[] multiplicador1 = new int[9] { 10, 9, 8, 7, 6, 5, 4, 3, 2 };
int[] multiplicador2 = new int[10] { 11, 10, 9, 8, 7, 6, 5, 4, 3, 2 };
string tempCpf;
string digito;
int soma;
int resto;
cpfCNPJ = cpfCNPJ.Trim();
cpfCNPJ = cpfCNPJ.Replace(".", "").Replace("-", "");
if (cpfCNPJ.Length != 11)
return false;
tempCpf = cpfCNPJ.Substring(0, 9);
soma = 0;
for (int i = 0; i < 9; i++)
soma += int.Parse(tempCpf[i].ToString()) * multiplicador1[i];
resto = soma % 11;
if (resto < 2)
resto = 0;
else
resto = 11 - resto;
digito = resto.ToString();
tempCpf = tempCpf + digito;
soma = 0;
for (int i = 0; i < 10; i++)
soma += int.Parse(tempCpf[i].ToString()) * multiplicador2[i];
resto = soma % 11;
if (resto < 2)
resto = 0;
else
resto = 11 - resto;
digito = digito + resto.ToString();
return cpfCNPJ.EndsWith(digito);
}
else
{
int[] multiplicador1 = new int[12] { 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2 };
int[] multiplicador2 = new int[13] { 6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2 };
int soma;
int resto;
string digito;
string tempCnpj;
cpfCNPJ = cpfCNPJ.Trim();
cpfCNPJ = cpfCNPJ.Replace(".", "").Replace("-", "").Replace("/", "");
if (cpfCNPJ.Length != 14)
return false;
tempCnpj = cpfCNPJ.Substring(0, 12);
soma = 0;
for (int i = 0; i < 12; i++)
soma += int.Parse(tempCnpj[i].ToString()) * multiplicador1[i];
resto = (soma % 11);
if (resto < 2)
resto = 0;
else
resto = 11 - resto;
digito = resto.ToString();
tempCnpj = tempCnpj + digito;
soma = 0;
for (int i = 0; i < 13; i++)
soma += int.Parse(tempCnpj[i].ToString()) * multiplicador2[i];
resto = (soma % 11);
if (resto < 2)
resto = 0;
else
resto = 11 - resto;
digito = digito + resto.ToString();
return cpfCNPJ.EndsWith(digito);
}
}
Nenhum comentário:
Postar um comentário