Пример #1
0
        public static bool Validar(string cnpj)
        {
            resultado = false;
            // Se for vazio
            if (String.IsNullOrEmpty(cnpj.Trim()))
            {
                return(resultado);
            }

            // Retirar todos os caracteres que não sejam numéricos
            string aux = string.Empty;

            for (int i = 0; i < cnpj.Length; i++)
            {
                if (char.IsNumber(cnpj[i]))
                {
                    aux += cnpj[i].ToString();
                }
            }

            // O tamanho do CNPJ tem que ser 14
            if (aux.Length != 14)
            {
                return(resultado);
            }

            // Verifica se não é apenas o mesmo numero
            if (cnpj.Distinct().Count() != 1)
            {
                return(resultado);
            }

            // Guardo os dígitos para compará-lo no final
            string pDigito = aux.Substring(12, 2);

            aux = aux.Substring(0, 12);

            //Calculo do 1º digito
            aux += GerarDigito.GerarDigitoParaValidacao(aux);

            //Calculo do 2º digito
            aux += GerarDigito.GerarDigitoParaValidacao(aux);

            //Comparo os dígitos calculadoscom os guardados anteriormente

            resultado = pDigito == aux.Substring(12, 2);

            return(resultado);
        }
        public static bool Validar(string cpf)
        {
            resultado = false;
            // Se for vazio
            if (String.IsNullOrEmpty(cpf.Trim()))
            {
                return(resultado);
            }

            // Retirar todos os caracteres que não sejam numéricos
            string aux = string.Empty;

            for (int i = 0; i < cpf.Length; i++)
            {
                if (char.IsNumber(cpf[i]))
                {
                    aux += cpf[i].ToString();
                }
            }

            // O tamanho do CPF tem que ser 11
            if (aux.Length != 11)
            {
                return(resultado);
            }

            // Verifica se não é apenas o mesmo numero
            resultado = aux.Distinct().Count() > 1;
            if (resultado == false)
            {
                return(false);
            }

            // Guardo o dígito para comparar no final
            string pDigito = aux.Substring(9, 2);

            aux = aux.Substring(0, 9);

            //Cálculo do 1o. digito do CPF
            aux += GerarDigito.GerarDigitoParaValidacao(aux);

            //Cálculo do 2o. digito do CPF
            aux += GerarDigito.GerarDigitoParaValidacao(aux);

            resultado = pDigito == aux.Substring(9, 2);

            return(resultado);
        }