Solved

Credit Card Validation

Posted on 2000-03-05
7
300 Views
Last Modified: 2013-11-18
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
Comment
Question by:rajesh_bala
7 Comments
 

Expert Comment

by:cojones
Comment Utility
No argorithm, its sent out across a connection to verify by the banks.  
0
 
LVL 84

Expert Comment

by:ozo
Comment Utility
Do you just want to verify the checksum, or do you need to know whether the card is over its credit limit?
0
 
LVL 8

Expert Comment

by:xabi
Comment Utility
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
Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 

Expert Comment

by:ytgprasad
Comment Utility
there is a alogorithm called LUHN algorithm for basic validation of the CARD numbers of certain Banks
0
 

Expert Comment

by:ytgprasad
Comment Utility
for the LUHN algorithm and this site http://www.cybercash.com/cybercash/merchants/support/luhn.html may be useful, check out
0
 
LVL 8

Expert Comment

by:xabi
Comment Utility
xabi changed the proposed answer to a comment
0
 
LVL 8

Accepted Solution

by:
xabi earned 50 total points
Comment Utility
Here goes the code:

---------- 8< --------- 8< -----
<html>
<head>
<title>order form</title></head>
<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>
</head>
<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

Featured Post

Maximize Your Threat Intelligence Reporting

Reporting is one of the most important and least talked about aspects of a world-class threat intelligence program. Here’s how to do it right.

Join & Write a Comment

Read about why website design really matters in today's demanding market.
"In order to have an organized way for empathy mapping, we rely on a psychological model and trying to model it in a simple way, so we will split the board to three section for each persona and a scenario and try to see what those personas would Do,…
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.

763 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now