﻿
function BsnElfProef(sender, args) {
    // verwijder alle tekens die geen cijfers zijn
    var bsnNummer = args.Value.replace(/[^0-9]/g, "");
    if (bsnNummer.length != 9 || bsnNummer == '000000000') {
        args.IsValid = false;
    } else {
        var som = 0;
        // loop door de 9 cijfers met de 11 proef formule
        for (i = 1; i < 9; i++) {
            getal = bsnNummer.charAt(i - 1);
            som += getal * (10 - i);
        }
        getal = bsnNummer.charAt(8);
        som += getal * -1;
        // mod 11 moet 0 uitkomen, zo niet dan is bsn nummer ongeldig
        if (som % 11 == 0) {
            args.IsValid = true;
        } else {
            args.IsValid = false;
        }
    }
}
                    
