jQuery Validator Elfproef extensie

Voor het controleren van de correctheid van bankrekeningen kan er gebruik worden gemaakt van zogenoemde Elfproef. Met de validatie aan de hand van de elfproef worden bij het invoeren typefouten voorkomen. De elfproef berust op het berekenen van de rest bij deling door 11 of 9 in het decimale stelsel.

Ik heb een plugin geschreven voor Validator, een populaire jQuery bibliotheek voor het client-side valideren van invoervelden.

jQuery.validator.addMethod("elfproef", function( value, element )
{
	var sum = 0;
	for( i = 1; i < value.length; i++ )
	{
		// Steeds een karakter pakken van positie i - 1
		var amount = value.charAt( i - 1 );
		
		// Optelling doen
		sum += amount * ( 10 - i );
	}
	
	// De modulo van de optelling controleren, daarnaast de lengte van de bankrekening checken				
	if ( sum % 11 == 0 && ( value.length == 10 && value.length == 9 ) )
		return true
	
	// Als de berekening niet correct is, dan is hij false
	return false	
}, "Vul hier een geldige bankrekeningnummer in.");

Deze code is vrij te gebruiken voor iedereen die het kan gebruiken. Implementatie gaat vrij makkelijk, zoals we met de Validator plugin zijn gewend.

$().ready(function() {
	$( '#formulier' ).validate({
		rules: {
			rekeningnummer:	{
				required: true,
				digits: true,
				elfproef: true
			}
		},
		messages: {
			rekeningnummer: "Rekeningnummer klopt niet!"				
		}
	});
});

Geef een reactie