jQuery: creare un plugin per la validazione dei numeri delle carte di credito

jQuery: creare un plugin per la validazione dei numeri delle carte di credito

In jQuery se implementiamo l'algoritmo di Luhn possiamo creare un plugin per la validazione dei numeri delle carte di credito.

La soluzione รจ la seguente:


(function( $ ) {

	$.fn.isValidCreditCard = function() {
	
		var that = this;
		
		if( !that.is( "input" ) ) {
		
			throw new Error( "Only input elements are supported." );
			
			return;
		
		}
		
		var value = that.val();
		
		var checkLuhn = function( input ) {
  			var sum = 0;
  			var numdigits = input.length;
  			var parity = numdigits % 2;
  			for( var i = 0; i < numdigits; i++ ) {
    			var digit = parseInt( input.charAt( i ) );
    			if( i % 2 == parity ) digit *= 2;
    			if( digit > 9 ) digit -= 9;
    			sum += digit;
  			}
  			return ( sum % 10 ) == 0;
		}

		var test = checkLuhn( value );
		
		return test;
	
	};

})( jQuery );

Torna su