Ver Mensaje Individual
  #10 (permalink)  
Antiguo 30/03/2004, 02:12
Avatar de KarlanKas
KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 5 meses
Puntos: 61
Investigando un poco en los foros he descubierto un código en PHP de cluster que debidamente adaptado y ayudado por esta pçagina a la que hacía referencia Cluster he hecho este código que creo que está bien.

Funciona de 2 formas. Si se pone el número seguido de un guión y el dígito te dice si está bien. Si sólo pones el número te devuelve el dígito. Espero que te sirva. Para que funcione pon el numerito y luego pincha fuera del input.


Código PHP:
<html>
<
head>
    <
title>Untitled</title>

<
script>

function 
validar(celula){

//Script sacado de forosdelweb. 
//Todas las culpas a su mal funcionamiento se deben a KarlanKas.

//inicializamos variables

sumatorio=0;
numero=0;
multiplicador=1;
cosas=celula.split("-");
letra=cosas[1];
celula=cosas[0];
longitud=celula.length-1;

//Empezamos la ronda

for(a=longitud;a>=0;a--){

multiplicador+=1

if(multiplicador==8){multiplicador=2}

//Vamos obteniendo el número que se dividirá por 11

numero2=parseInt(celula.charAt(a));
numero=numero2*multiplicador;
sumatorio+=numero;

}

//hallamos el dígito

resto=sumatorio%11;
if(
resto>0){resto=11-resto}
if(
resto==10){digito="K"}
else{
digito=resto}

if(!
letra){alert("El dígito es "+digito)}
else{
if(
letra && letra!=digito){alert("No es válido")}
else{
alert("código correcto");}
}

}
</script>
</head>

<body>
Ponga la célula
 en el siguiente
 formato: 00000-0
<input type="text"
 name="numerito" 
onBlur="validar(this.value)">

</body>
</html> 
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.

Última edición por KarlanKas; 30/03/2004 a las 02:18