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 );