// make sure they entered a name if(nameoncard.value == "") { alert("Please enter the name listed on the credit card"); nameoncard.focus(); return false; } // make sure they selected a card type else if (CCType.selectedIndex == 0) { alert("Please select the type of credit card."); CCType.focus(); return false; } // check to see if a credit card number has been entered. else if (CCN.value == "") { alert("Please enter a credit card number."); CCN.focus(); return false; } // check if number matches card type else if (typeOfCard(CCN.value) != CCType[CCType.selectedIndex].value) { alert("The type of card you selected does not match the credit card number that you submitted."); CCN.focus(); return false; } // use mod 10 algorithm to validate number else if (!(isValidCreditCard(CCN.value))) { alert("Sorry but you have entered an invalid credit card number. Please check the number on the card and try again."); CCN.focus(); return false; } // make sure that the expiration date is not in the past else if(isExpired(today,formDate)) { alert("According to the expiration date that you entered, your card is expired."); expMonth.focus(); return false; } // everythings ok then submit else { return true; formSubmitted = true; } } } function isExpired(today,formDate) { var expired = true; if(formDate.getMonth() >=today.getMonth()) { if(formDate.getYear() >= today.getYear()) { expired = false; } } else { if(formDate.getYear() >= today.getYear() + 1) { expired = false; } } return expired; } // Funtion to return the type of credit card function typeOfCard(number) { /* // Card Prefixes // // Mastercard 51-55 // Visa 4 // AmEx 34,37 // Discover 6011 */ var firstNumber = number.substring(0,1); var firstThreeNumbers = number.substring(0,3); if (firstNumber == 4) { return "Visa"; } var firstTwoNumbers = number.substring(0,2); if (firstTwoNumbers > 50 && firstTwoNumbers < 56) { return "MasterCard"; } if (firstTwoNumbers == 34 || firstTwoNumbers == 37) { return "AmericanExpress"; } var firstFourNumbers = number.substring(0,4); if (firstFourNumbers == 6011) { return "Discover"; } } // Function that determines whether a credit card number is valid // Please note that a valid credit card number is not essentially a // credit card in good standing. function isValidCreditCard(number) { var total = 0; var flag = 0; number = number.replace(/\D/g,''); for (var i=(number.length - 1);i>=0; i--) { if (flag == 1) { var digits = number.charAt(i) * 2; if (digits > 9) digits -= 9; total += digits; // var reminder = digits % 10; // var quotient = (digits - reminder) / 10; // total = total + parseInt(reminder); // total = total + parseInt(quotient); flag = 0; } else { total = total + parseInt(number.charAt(i)); flag = 1; } } if ((total%10) == 0) { return true; } else { return false; } } // -->
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
©
Site Development and
Design by Web-Zealot.com |