AppD.MerchantBank.CardService.IsCardNumberValid C# (CSharp) Method

IsCardNumberValid() public method

public IsCardNumberValid ( string cardNumber, bool allowSpaces = false ) : bool
cardNumber string
allowSpaces bool
return bool
        public bool IsCardNumberValid(string cardNumber, bool allowSpaces = false)
        {
            if (allowSpaces)
            {
                cardNumber = cardNumber.Replace(" ", "");
            }
            if (cardNumber.Any(c => !Char.IsDigit(c)))
            {
                return false;
            }
            int checksum = cardNumber
               .Select((c, i) => (c - '0') << ((cardNumber.Length - i - 1) & 1))
               .Sum(n => n > 9 ? n - 9 : n);
            return (checksum % 10) == 0 && checksum > 0;
        }

Usage Example

Beispiel #1
0
        static void Main(string[] args)
        {
            //create a thread for cpu maxing

            CardService cs = new CardService();
            string t = RandomCreditCardNumberGenerator.GenerateMasterCardNumber();
            Console.WriteLine(t);
            Console.WriteLine(cs.IsCardNumberValid(t));
            Console.WriteLine(cs.IsValid(t));
            Console.Read();
            //while (true)
            //{
            //    int A = 1 + 1;
            //    //Thread.Sleep(1);
            //}
        }