16 lines
698 B
JavaScript
16 lines
698 B
JavaScript
document.getElementById("precode").addEventListener("keyup",code);
|
|
|
|
function code() {
|
|
// lovingly stolen from https://github.com/kpym/autoradio-renault
|
|
var precode = document.getElementById("precode").value.toUpperCase();
|
|
|
|
if (!/^[A-Z]\d{3}$/.test(precode) || precode.startsWith("A0")) { return ''; }
|
|
|
|
x = precode.charCodeAt(1) + precode.charCodeAt(0) * 10 - 698;
|
|
y = precode.charCodeAt(3) + precode.charCodeAt(2) * 10 + x - 528;
|
|
z = (y*7) % 100;
|
|
code = Math.floor(z / 10) + (z % 10) * 10 + ((259 % x) % 100) * 100;
|
|
|
|
document.getElementById("code").value = code.toString().padStart(4,'0');
|
|
// document.getElementById('code').innerHTML = code.toString().padStart(4,'0');
|
|
} |