 
			
				13/10/2013, 09:47
			
			
			     |  
      |    |    |    Fecha de Ingreso: octubre-2013  Ubicación: madrid  
						Mensajes: 28
					  Antigüedad: 12 años Puntos: 0     |        |  
  |      validacion tarjeta de credito        Buenas! Tengo que crear una validacion de tarjeta pero no consigo que me funcione el codigo, ayuda?? 
Aqui les pongo la parte del enunciado y les adjunto mi codigo javascript 
El número de la tarjeta de crédito/débito consta de cuatro partes: aaaabbbbcccccccd. Los primeros dígitos (a) son un indicativo de la entidad bancaria. Los dígitos centrales (b) son el nº de la oficina dentro de cada banco. Los dígitos finales (c y d) corresponden al número de la tarjeta y al dígito de control de la misma. 
El algoritmo de Luhn consiste en: 
- Sumar los números en posición impar, 
- Multiplicar por 2 los números en posición par (incluyendo el dígito de control) y 
sumar los dígitos de estos resultados, 
- Sumar las dos sumas parciales anteriores y 
- Dividir el resultado por 10. 
Si el resto de esta división es 0, entonces el número de la tarjeta es correcto. Por ejemplo, 
el número de la tarjeta 1234567890123451 es correcta   
function teclear(){ 
  var x=0; 
 if(document.getElementById('txtTarjeta').value.len  gth!=16){ 
   alert("La tarjeta tiene que estar compuesta por 16 digitos"); 
   x++; 
 } 
 if(x===0){ 
  return true; 
 } else{ 
  return false; 
} 
}   
function comprNum(){ 
  var numTar=document.getElementById('txtTarjeta').value  ; 
  var num1=0; 
  for (var i=0;i<numTar.length;i++){ //empieza en 0 y termina en 15. 
    var a= parseInt(numTar.charAt(i),10); 
    if (i%2===0){ //POSICION IMPAR 
      num1=num1+a; 
    } 
    if (i%2==1){ 
      if((a*2)<=9){ 
        num1= num1+(a*2); 
      } 
      if ((a*2)>9){ 
        num1= num1+(1+((a*2)-10)); 
    } 
  } 
  var num2=0; 
  for (var i=0;i<num1.length;i++){ 
    num2=num2+num1[i]; 
    alert(num2); 
  } 
  if (num2%10===0){ 
    return true; 
    }else { 
      alert("el numero de la tarjeta de credito es incorrecto"); 
      return false; 
    } 
  } 
}   
function cuenta(valor){ 
var h=0; 
 for(var i=0;i<valor.length;i++){ 
 h+=parseInt(valor.charAt(i),10); 
} 
return h; 
}           |