JavaScript Tutorial/Regular Expressions/Credit Card — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
|
(нет различий)
|
Текущая версия на 11:25, 26 мая 2010
Содержание
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)
- Paperback: 672 pages
- Publisher: Wrox (April 22, 2005)
- Language: English
- ISBN-10: 0764579088
- 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)
- Paperback: 672 pages
- Publisher: Wrox (April 22, 2005)
- Language: English
- ISBN-10: 0764579088
- ISBN-13: 978-0764579080</source>