• Status: Solved
• Priority: Medium
• Security: Public
• Views: 313

# Credit Card Validation

How credit cards are checked for their validity.What is the method adopted to verify that the credit card is valid.Is there any algorithm used?If so please explain and give an example
0
rajesh_bala
1 Solution

Commented:
No argorithm, its sent out across a connection to verify by the banks.
0

Commented:
Do you just want to verify the checksum, or do you need to know whether the card is over its credit limit?
0

Commented:
Here you will find the code in javascript:

http://developer.netscape.com/tech/javascript/index.html

In the script CheckForm.js you will find a function to check the creditcard number.

xabi
0

Commented:
there is a alogorithm called LUHN algorithm for basic validation of the CARD numbers of certain Banks
0

Commented:
for the LUHN algorithm and this site http://www.cybercash.com/cybercash/merchants/support/luhn.html may be useful, check out
0

Commented:
xabi changed the proposed answer to a comment
0

Commented:
Here goes the code:

---------- 8< --------- 8< -----
<html>
<script language="JavaScript">
<!--
function isCreditCard(st) {
if (st.length > 19) return (false)
sum = 0; mul = 1; l = st.length
for (i = 0; i < l; i++) {
digit = st.substring(l-i-1,l-i)
tproduct = parseInt(digit ,10)*mul
if (tproduct >= 10) sum += (tproduct % 10) + 1
else sum += tproduct
if (mul == 1) mul++
else mul--
}
if ((sum % 10) == 0) return (true)
else return (false)
}

function isVisa(cc) {
if (((cc.length == 16) || (cc.length == 13)) && (cc.substring(0,1) == 4)) return isCreditCard(cc)
return false
}

function isMasterCard(cc) {
firstdig = cc.substring(0,1)
seconddig = cc.substring(1,2)
if ((cc.length == 16) && (firstdig == 5) && ((seconddig >= 1) && (seconddig <= 5))) return isCreditCard(cc)
return false
}

function isAmericanExpress(cc) {
firstdig = cc.substring(0,1)
seconddig = cc.substring(1,2)
if ((cc.length == 15) && (firstdig == 3) && ((seconddig == 4) || (seconddig == 7))) return isCreditCard(cc)
return false
}

function isDinersClub(cc) {
firstdig = cc.substring(0,1)
seconddig = cc.substring(1,2)
if ((cc.length == 14) && (firstdig == 3) && ((seconddig == 0) || (seconddig == 6) || (seconddig == 8))) return isCreditCard(cc)
return false
}

function isCarteBlanche(cc) {
return isDinersClub(cc)
}

function isDiscover(cc) {
first4digs = cc.substring(0,4)
if ((cc.length == 16) && (first4digs == "6011")) return isCreditCard(cc)
return false
}

function isEnRoute(cc) {
first4digs = cc.substring(0,4)
if ((cc.length == 15) && ((first4digs == "2014") || (first4digs == "2149"))) return isCreditCard(cc)
return false
}

function isJCB(cc) {
first4digs = cc.substring(0,4)
if ((cc.length == 16) && ((first4digs == "3088") || (first4digs == "3096") || (first4digs == "3112") || (first4digs == "3158") || (first4digs == "3337") || (first4digs == "3528"))) return isCreditCard(cc)
return false
}

function check_values() {
iCardType   = document.myform.CreditCard_Type.selectedIndex
iCardNumber = document.myform.CreditCard_Number.value
bResult = false
if (iCardType == 0) bResult = isVisa(iCardNumber)
if (iCardType == 1) bResult = isMasterCard(iCardNumber)
if (iCardType == 2) bResult = isAmericanExpress(iCardNumber)
if (iCardType == 3) bResult = isDinersClub(iCardNumber)
if (iCardType == 4) bResult = isCarteBlanche(iCardNumber)
if (iCardType == 5) bResult = isDiscover(iCardNumber)
if (iCardType == 6) bResult = isEnRoute(iCardNumber)
if (iCardType == 7) bResult = isJCB(iCardNumber)
if (bResult == false) alert("Invalid Credit Card Number")
return bResult
}
//-->
</script>
<body>
<form name="myform" onSubmit="return(check_values())">
<table>
<tr>
<td>Credit Card Type</td>
<td>
<select name="CreditCard_Type">
<option>Visa</option>
<option>MasterCard</option>
<option>AmericanExpress</option>
<option>DinersClub</option>
<option>CarteBlanche</option>
<option>Discover</option>
<option>EnRoute</option>
<option>JCB</option>
</select>
</td>
</tr>
<tr>
<td>Credit Card Number</td>
<td><input type="text" size="38" maxlength="19" name="CreditCard_Number"></td>
</tr>
</table>
<input type="submit" value=" Submit Request">
<input type="reset" value=" Clear ">
</form>
<br>
</body>
</html>
---------- 8< ---------- 8< -------

xabi
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.