setCardType

set credit card type based on regex of input value (mod of http://mel-green.com/2008/11/determine-credit-card-type-with-javascript/)

by jorgeluis

HTML

<span id="card-icon"></span>
<form action="/">
    <input id="card-number" type="text">
</form>

JavaScript

(function ($) {

	var cardIcon = $("#card-icon"),
		cardInput = $("#card-number"),
		defaultCardClass = 'card-image';

    $(cardImage).text(defaultCardClass);
    
    
	function SetTypeText(number) {
		// set default class always, plus card class if not empty
		// cardIcon.attr('class', defaultCardClass + ' ' + GetCardClass(number));
		cardIcon.text(GetCardClass(number));
	}
 
	function GetCardClass(number) {            
		var re = new RegExp("^4");
		if (number.match(re) != null)
		return "visa";
 
		re = new RegExp("^(34|37)");
		if (number.match(re) != null)
		return "amex";
 
		re = new RegExp("^5[1-5]");
		if (number.match(re) != null)
		return "mc";
 
		re = new RegExp("^6011");
		if (number.match(re) != null)
		return "disc";
 
		return "";
	}

    cardInput.on('keyup', function(){
        SetTypeText(this.value);
    });

}(jQuery));