public static bool IsValidCPF(this string CPF)
        {
            CPF = CPF.ClearStrings();

            if (CPF.Length < 11)
                return false;

            for (int i = 0; i < CPF.Length; i++)
                Convert.ToInt32(CPF[i].ToString());

            if (CPF == "00000000000" || CPF == "11111111111" || CPF == "22222222222" || CPF == "33333333333" || CPF == "44444444444" || CPF == "55555555555" || CPF == "66666666666" || CPF == "77777777777" || CPF == "88888888888" || CPF == "99999999999")
                return false;

            int[] a = new int[11];
            int b = 0;
            int c = 10;
            int x = 0;

            for (int i = 0; i < 9; i++)
            {
                a[i] = Convert.ToInt32(CPF[i].ToString());

                b += (a[i] * c);
                c--;
            }


            x = b % 11;

            if (x < 2)
                a[9] = 0;
            else
                a[9] = 11 - x;

            b = 0;
            c = 11;

            for (int i = 0; i < 10; i++)
            {
                b += (a[i] * c);
                c--;
            }

            x = b % 11;

            if (x < 2)
                a[10] = 0;
            else
                a[10] = 11 - x;

            if ((Convert.ToInt32(CPF[9].ToString()) != a[9]) || (Convert.ToInt32(CPF[10].ToString()) != a[10]))
                return false;

            return true;
        }
        public static bool IsValidCNPJ(this string CNPJ)
        {
            CNPJ = CNPJ.ClearStrings();

            if (CNPJ.Length < 14)
                return false;

            for (int i = 0; i < 14; i++)
                Convert.ToInt32(CNPJ[i].ToString());

            int[] a = new int[14];
            int b = 0;
            int[] c = { 6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2 };
            int x = 0;

            for (int i = 0; i < 12; i++)
            {
                a[i] = Convert.ToInt32(CNPJ[i].ToString());
                b += a[i] * c[i + 1];
            }

            x = b % 11;

            if (x < 2)
                a[12] = 0;
            else
                a[12] = 11 - x;


            b = 0;
            for (int j = 0; j < 13; j++)
                b += (a[j] * c[j]);

            x = b % 11;

            if (x < 2)
                a[13] = 0;
            else
                a[13] = 11 - x;

            if ((Convert.ToInt32(CNPJ[12].ToString()) != a[12]) || (Convert.ToInt32(CNPJ[13].ToString()) != a[13]))
                return false;

            return true;
        }