15
sep 11

Classic Three voorversterker

Afgelopen weken bezig geweest met het orienteren op een nieuwe voorversterker. Afgelopen week de printen ontworpen en besteld voor de Classic Three, gepubliceerd in de Elektor Audio Special 5. Hoewel sommige mensen van mening zijn dat een buizen ontwerp niet op een print thuis hoort, vind ik het er gewoon netjes en gestructureerd uitzien. Daarnaast zit er op buizen hoogspanning, in dit geval ~300volt, daarom is veiligheid van de opbouw belangrijk.

De printen heb ik dit keer besteld bij MakePCB. Op de Circuits Online waren goede verhalen gepost en deze leverancier is goedkoop met kleine hoeveelheden.

6N6P Versterker Classic Three

Het is even afwachten tot ik de printen binnen heb, maar ik ben erg benieuwd. Volgende stap is de componenten bestellen, een deel heb ik al binnen. Dit kan mooi in de tussentijd. Zodra de printen in elkaar zitten zal ik weer een post doen.


05
sep 11

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!"				
		}
	});
});