Foros del Web » Programando para Internet » Javascript »

Ayuda con código JavaScript...

Estas en el tema de Ayuda con código JavaScript... en el foro de Javascript en Foros del Web. Hola, estoy haciendo unas prácticas de servidores web de la universidad y dice lo siguiente: Este primer reto consiste en conseguir un serial valido. Si ...
  #1 (permalink)  
Antiguo 30/04/2009, 14:12
 
Fecha de Ingreso: abril-2009
Mensajes: 2
Antigüedad: 15 años
Puntos: 0
Ayuda con código JavaScript...

Hola, estoy haciendo unas prácticas de servidores web de la universidad y dice lo siguiente: Este primer reto consiste en conseguir un serial valido. Si se introduce un serial no valido el sistema lo indicara con una alerta. Una vez que tengamos un serial valido no se mostrara esa alerta y eso nos indicara que hemos pasado el primer RETO.
Alguien podría decirme que código es el correcto para introducir en la página web?
Por más vueltas que le doy al código no hay manera...
Gracias de antemano!!!

El código es el siguiente:

<script LANGUAGE="JavaScript">

function ver (cod) {

if (cod.length != 16){

return false;
}

var codx =new Array(cod);
var chk = '';
var tmp;
var cvs;
var cvd;

cvd = cod.substr(15,1);
cod = cod.substr(0,15);

if (cod.length != 15 || IsNumeric(cod) == false){
return false;
}

for (i=0;i<cod.length;i++){
if (i%2 == 0){
tmp = cod.substring(i,i+1) * 1;

}
else{
tmp = cod.substring(i,i+1) * 2;
}

if (tmp >= 10){
tmp = tmp.toString();
tmp = tmp.substr(0,1) + tmp.substr(1,1);
}

chk = chk.concat(tmp);
}

tmp = '';


for (i=0;i<chk.length;i++){
tmp = (tmp*1) + (chk.charAt(i)*1);
}


tmp = tmp.toString();
chk = (tmp.substr(0,1)*1) + (tmp.substr(1,1)*1);
chk = chk * 10;
chk = (chk*1) - (tmp*1);
cvs = chk % 10;

if (cvs == cvd){

return true;
}
else{

document.write("temporal: ",tmp);
document.writeln("<BR>");
document.write("cvs: ",cvs);
document.writeln("<BR>");
document.write("cvd: ",cvd);
document.writeln("<BR>");
return false;
}
}


function IsNumeric(sText)

{
var ValidChars = "0123456789.";
var IsNumber=true;
var Char;


for (i = 0; i < sText.length && IsNumber == true; i++)
{
Char = sText.charAt(i);
if (ValidChars.indexOf(Char) == -1)
{
IsNumber = false;
}
}
return IsNumber;

}



</script>
  #2 (permalink)  
Antiguo 30/04/2009, 14:55
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: Ayuda con código JavaScript...

Con esa explicación, y ese código con variables totalmente claras y los comentarios en el código, sin mencionar la claridad con la que se ha expuesto el problema, seguramente obtienes respuesta más rápido de lo que canta un gallo.

Bueno, dejando el sarcasmo a un lado, por que no nos explicas exactamente donde está el problema. Te tira un error? que tipo de error?
__________________
twitter: @imbuzu
  #3 (permalink)  
Antiguo 30/04/2009, 15:12
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Ayuda con código JavaScript...

¿Exactamente cuántas vueltas le has dado al código? Porque es un código bastante simple de seguir en papel qué es lo que hace.

buzu, no da ningún error. Es un ejercicio de clase. Es una función a la que le pasas un código de 16 números y hace un cálculo con él y si es válido te devuelve true. El ejercicio consiste en encontrar un código válido.
  #4 (permalink)  
Antiguo 30/04/2009, 15:22
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: Ayuda con código JavaScript...

venkman, como va todo? No hay error, pero no logro entender que es lo que el chico necesita...
__________________
twitter: @imbuzu
  #5 (permalink)  
Antiguo 30/04/2009, 15:54
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Ayuda con código JavaScript...

Pues necesita que le encontremos un código válido xD

(Qué tal? Paso menos por aquí últimamente...)
  #6 (permalink)  
Antiguo 30/04/2009, 16:23
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: Ayuda con código JavaScript...

En otras palabras necesita que le hagamos la tarea... Yo paso.
__________________
twitter: @imbuzu
  #7 (permalink)  
Antiguo 01/05/2009, 05:35
 
Fecha de Ingreso: abril-2009
Mensajes: 2
Antigüedad: 15 años
Puntos: 0
Respuesta: Ayuda con código JavaScript...

Siento mucho las molestias!Ese código será bastante simple para vosotros, pero es que soy nuevo en esto del javascript y la verdad es que me pierdo un poco.
Se que el código es de 16 dígitos, pero es k no llego a entender del todo el proceso que hace con ellos.
Por eso os pedí ayuda, pero si no puede ser...
Gracias de todos modos.

Un saludo!
  #8 (permalink)  
Antiguo 01/05/2009, 13:23
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Ayuda con código JavaScript...

rupaan, no se trata de que sea simple (que lo es), de lo que se trata es de lo que es: un ejercicio de clase para que aprendas. Si en lugar de sacar la solución, te esperas a que te la den, no aprendes.

Puedes preguntar sobre alguna parte concreta de la función que no entiendas, puedes incluso preguntar sobre cómo intentar resolver el ejercicio o sobre algún problema que te encuentres al resolverlo. Pero si llegas aquí y preguntas "Alguien podría decirme que código es el correcto?" entonces no creo que deba ayudarte. Consigues el resultado pero qué has aprendido? Nada.

Esto es sólo mi opinión, claro.
  #9 (permalink)  
Antiguo 01/05/2009, 13:29
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: Ayuda con código JavaScript...

Apoyo a venkman. Se oye muy feo y mala onda cuando digo que yo paso, pero la verdad es que cuando respondo es por que quiero ayudar, de otra manera mejor no lo hago y en este caso no te estaría ayudando.
__________________
twitter: @imbuzu
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:13.