JavaScript Tutorial/Regular Expressions/Credit Card

Материал из Web эксперт
Перейти к: навигация, поиск

Matching a 16 digit credit card number separated by a single space

   <source lang="javascript">

<html> <head> <title>Matching a 16 digit credit card number separated by a single space</title> <script type="text/javascript" language="javascript">

</script> </head> <body>

This page allows you to enter and check a 16 digit credit card number

<form> <button type="Button" onclick="TestGuess()"> Click here to enter card number</button> </form> </body> </html></source>


Matching a 16 digit credit card number with variable number of space characters

   <source lang="javascript">

<html> <head> <title>Matching a 16 digit credit card number

with variable number of space characters</title>

<script type="text/javascript" language="javascript">

</script> </head> <body>

This page allows you to enter and check a 16 digit credit card number

<form> <button type="Button" onclick="TestGuess()">Click here to enter card number</button> </form> </body> </html></source>


Validate MasterCard

   <source lang="javascript">

<html>

   <head>
       <title>MasterCard Example</title>
       <script type="text/javascript">
               function luhnCheckSum(sCardNum) {
                   var iOddSum = 0;
                   var iEvenSum = 0;
                   var bIsOdd = true;
                   for (var i=sCardNum.length-1; i >= 0; i--) {
                       var iNum = parseInt(sCardNum.charAt(i));
                       if (bIsOdd) {
                           iOddSum += iNum;
                       } else {
                           iNum = iNum * 2;
                           if (iNum > 9) {
                               iNum = eval(iNum.toString().split("").join("+"));
                           }
                           iEvenSum += iNum;
                       }
                       bIsOdd = !bIsOdd;
                   }
                   return ((iEvenSum + iOddSum) % 10 == 0);
               }
               function isValidMasterCard(sText) {
                   var reMasterCard = /^(5[1-5]\d{2})[\s\-]?(\d{4})[\s\-]?(\d{4})[\s\-]?(\d{4})$/;
                   if (reMasterCard.test(sText)) {
                       var sCardNum = RegExp.$1 + RegExp.$2 + RegExp.$3 + RegExp.$4;
                       return luhnCheckSum(sCardNum);
                   } else {
                       return false;
                   }
               }
               function validate() {
                   var oInput1 = document.getElementById("txt1");
                   if (isValidMasterCard(oInput1.value)) {
                       alert("Valid");
                   } else {
                       alert("Invalid!");
                   }
               }
       </script>
   </head>
   <body>

MasterCard Number: <input type="text" id="txt1" />
<input type="button" value="Validate" onclick="validate()" />

   </body>

</html> Quote from: Professional JavaScript for Web Developers by Nicholas C. Zakas (Author)

  1. Paperback: 672 pages
  2. Publisher: Wrox (April 22, 2005)
  3. Language: English
  4. ISBN-10: 0764579088
  5. ISBN-13: 978-0764579080</source>


Validate Visa number

   <source lang="javascript">

<HTML>

   <head>
       <title>Visa Example</title>
       <script type="text/javascript">
               function luhnCheckSum(sCardNum) {
                   var iOddSum = 0;
                   var iEvenSum = 0;
                   var bIsOdd = true;
                   for (var i=sCardNum.length-1; i >= 0; i--) {
                       var iNum = parseInt(sCardNum.charAt(i));
                       if (bIsOdd) {
                           iOddSum += iNum;
                       } else {
                           iNum = iNum * 2;
                           if (iNum > 9) {
                               iNum = eval(iNum.toString().split("").join("+"));
                           }
                           iEvenSum += iNum;
                       }
                       bIsOdd = !bIsOdd;
                   }
                   return ((iEvenSum + iOddSum) % 10 == 0);
               }
               function isValidVisa(sText) {
                   var reVisa = /^(4\d{12}(?:\d{3})?)$/;
                   if (reVisa.test(sText)) {
                       return luhnCheckSum(RegExp.$1);
                   } else {
                       return false;
                   }
               }
               function validate() {
                   var oInput1 = document.getElementById("txt1");
                   if (isValidVisa(oInput1.value)) {
                       alert("Valid");
                   } else {
                       alert("Invalid!");
                   }
               }
       </script>
   </head>
   <body>

Visa Number: <input type="text" id="txt1" />
<input type="button" value="Validate" onclick="validate()" />

   </body>

</html> Quote from: Professional JavaScript for Web Developers by Nicholas C. Zakas (Author)

  1. Paperback: 672 pages
  2. Publisher: Wrox (April 22, 2005)
  3. Language: English
  4. ISBN-10: 0764579088
  5. ISBN-13: 978-0764579080</source>