Credit card validation

by Leonardo Trimarchi

HTML

<body>
<div style="border: 1px solid black; background-color: white; float: left;">
<div style="padding: 5px; width: 160px; float: left;">
    <form onSubmit="return false">
      <label>Credit Card Number:</label>
      <br />
      <input id="ccNumber" onChange="SetTypeText(this.value)" />
      <br />
      <input type="submit" value="Test" />
      <br />
      <div id="cardType" style="font-weight: bold; color: Blue;"></div>
    </form>
</div>
<div style=" padding: 5px; width: 160px; float: left;">
Try these:<br />
<div style="color: Blue;">
5597502558419431<br />
4485593130614027<br />
342180025274694<br />
6011463476949833
</div>
</div>
    </div></script>
</body>

JavaScript

function SetTypeText(number)
	{
		var typeField = document.getElementById("cardType");
		typeField.innerHTML = GetCardType(number);
	}

        function GetCardType(number)
        {            
            var re = new RegExp("^4");
            if (number.match(re) != null)
                return "Visa";
                
            re = new RegExp("^(34|37)");
            if (number.match(re) != null)
                return "American Express";
                
            re = new RegExp("^5[1-5]");
            if (number.match(re) != null)
                return "MasterCard";
                
            re = new RegExp("^6011");
            if (number.match(re) != null)
                return "Discover";
            
            return "";
        }