How to Validate a Credit Card Number

A credit card number is not a sequence of random numbers.There is an algorithm for checking if it is correct or not .

The algorithm which is used in credit card validation is called the Luhn algorithm  or Luhn formula, also known as the modulus 10″ or “mod 10” algorithm .

Suppose that we are going to check the credit card number 371449635398431 .Here is the  step by step guide to check if a credit card number is valid or not.

1- Check for length-The length of a credit card number lies between 12 to 19.So a credit card number which has more than 19 numbers or less than 12 numbers is invalid.In my example the length is 15 characters so it passes the first test.

2- Check for digits-A valid credit card number  contains only 0-9 digits.In given credit card number only numbers are appearing so it passes the second test.

3-Check validity using Modulus 10 alorithm-This is the most complex part of this tutorial so we can divide the entire process into several sub-processes.

a).Starting from right to left multiply each digit by 2.

(3*2),(8*2),(3*2),(3*2),(9*2),(4*2),(7*2)

6,(16),6,6,(18),8,(14)

If  the number is two digits then add both digits-

6,(6+1),6,6,(1+8),8,(1+4)

6,7,6,6,9,8,5

Now add these numbers 6+7+6+6+9+8+5=47

b).Take the digits of credit card which are not multiplied by 2 in stepand calculated the sum.

3+1+4+6+5+9+4+1=33

c).Add the numbers which are obtained by step a and step b.

47+33=80

These three steps (a,b and c) can be easily understand by this table-

CC number 3 7 1 4 4 9 6 3 5 3 9 8 4 3 1 x
Double every second 3 14 1 8 4 18 6 6 5 6 9 16 4 6 1 x
Sum of digits 3 5 1 8 4 9 6 6 5 6 9 7 4 6 1 =80

4-Divide the number which is getting after step 3 by 10.

80/10=8 and remainder=0

If the remainder is 0 then credit card number is valid otherwise it is invalid.