Validate MasterCard : Credit Card « Regular Expressions « JavaScript Tutorial

Home
JavaScript Tutorial
1.Language Basics
2.Operators
3.Statement
4.Development
5.Number Data Type
6.String
7.Function
8.Global
9.Math
10.Form
11.Array
12.Date
13.Dialogs
14.Document
15.Event
16.Location
17.Navigator
18.Screen
19.Window
20.History
21.HTML Tags
22.Style
23.DOM Node
24.Drag Drop
25.Object Oriented
26.Regular Expressions
27.XML
28.GUI Components
29.Dojo toolkit
30.jQuery
31.Animation
32.MS JScript
JavaScript Tutorial » Regular Expressions » Credit Card 
26.2.4.Validate MasterCard
<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 + iOddSum10 == 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>

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

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

# Paperback: 672 pages
# Publisher: Wrox (April 222005)
# Language: English
# ISBN-100764579088
# ISBN-13978-0764579080
26.2.Credit Card
26.2.1.Matching a 16 digit credit card number separated by a single space
26.2.2.Matching a 16 digit credit card number with variable number of space characters
26.2.3.Validate Visa number
26.2.4.Validate MasterCard
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.