JSFiddle - React, Tailwind, and code Playground
HTML
<div>
<h1>Generador IMEI</h1>
Deja el nĂşmero base quietecito y mete en la siguiente casilla 5 números al azar, da igual:<br />
<form>
Número base: <input id="base_number" style="width: 100px;" value="356002040" type="text"><br />
Número al azar: <input value="87557" name="SerialNumber" id="SerialNumber" maxlength="5" style="width: 100px;" type="text"><br /><hr />
<input value="Generar número IMEI" id="GenerateIMEI" type="button"><br />
<input value="356002040875573" name="luhn" id="luhn" type="text">
</form>
</div>
JavaScript
var base_number = document.getElementById("base_number")
var serialnumber = document.getElementById("SerialNumber");
var GenerateIMEI = document.getElementById("GenerateIMEI");
var luhn = document.getElementById("luhn");
GenerateIMEI.onclick=function(){
luhn.value = base_number.value;
luhn.value += serialnumber.value;
luhn.value += Calculate(luhn.value);
}
// Javascript code copyright 2009 by Fiach Reid : www.webtropy.com
// This code may be used freely, as long as this copyright notice is intact.
function Calculate(Luhn) {
var sum = 0;
for (i=0; i<Luhn.length; i++ ) {
sum += parseInt(Luhn.substring(i,i+1));
}
var delta = new Array (0,1,2,3,4,-4,-3,-2,-1,0);
for (i=Luhn.length-1; i>=0; i-=2 ) {
var deltaIndex = parseInt(Luhn.substring(i,i+1));
var deltaValue = delta[deltaIndex];
sum += deltaValue;
}
var mod10 = sum % 10;
mod10 = 10 - mod10;
if (mod10==10) {
mod10=0;
}
return mod10;
}