Codegolf: Spanish ID
https://codegolf.stackexchange.com/questions/129519/the-spain-id-cards-control-character-calculator
by 2ndAttmt
JavaScript
control=
i=>'TRWAGMYFPDXBNJZSQVHLCKE'[(/^[XYZ]/.test(i)?i.charCodeAt()%4+i.slice(1):i)%23]
alert(
control('00000010') + ', ' // X
+ control('01234567') + ', ' // L
+ control('98765432') + ', ' // M
+ control('69696969') + ', ' // T
+ control('42424242') + ', ' // Y
+ control('Z5555555') + ', ' // W (Z=2)
+ control('Y0000369') + ', ' // S (Y=1)
+ control('A1234567') + ', ' // Error (undefined)
+ control('1231XX12') // Error (undefined)
);