submanganime/tu web de animes y manga favoritos
  Validar la letra del DNI con ActionScript 3.0.
 

COMO HACERLO.
Para llevar a cabo la validación vamos a explicar el sencillo algoritmo necesario para obtener la letra. Consiste en dividir la parte numérica del DNI entre 23 y obtener el resto. Una vez que tengamos este valor del resto obtenemos la letra según la correspondencia obtenida en la tabla siguiente:

tabla correspondencia

Conociendo ésto, la construcción de una función que verifique la letra del documento no es tarea complicada:

function isDNI (dni:String):Boolean {
  // array que contiene la relación
  // de la tabla
  var corr:Array = new Array("T","R","W","A","G","M","Y","F","P","D","X","B","N","J","Z","S","Q","V","H","L","C","K","E");
  // obtenemos la cadena de la parte numérica
  var literal_parte_numerica:String = dni.substring(0,dni.length-1);
  // la convertimos a un volor numérico
  var valor_numerico:Number = parseFloat(literal_parte_numerica);
  // obtenemos el resto
  var resto:uint = valor_numerico % 23;
  // obtenemos la letra del DNI
  var letra:String = dni.charAt(dni.length-1).toUpperCase();
  // comparamos la letra con el valor obtenido
  // en la tabla correspondiente al resto
  if (String(letra) == String(corr[resto])) {
    // coincide
    return true;
  }
  // no coincide
  return false;
}

Como veis se trata de una functión que recibe como único parámetro la cadena del DNI y que retorna un valor booleano. Esta misma tabla se emplea también para validar el NIE (número de identificación de extranjeros en España) aunque en este caso hay que tener en cuenta que el primer carácter será una letra, normalmente una X o una Y.

Ejemplo de uso:

if(isDNI("50853893L")){
  //acciones si dni ok
} else {
  // acciones si dni incorrecto
}
 

Además si modificáis la línea var resto:uint = valor_numerico % 23; por ésta var resto:Number = valor_numerico % 23; la función os vale también para ActionScript 2.0.

 
  Hoy habia 11195 visitantes¡Aqui en esta página!  
 
Este sitio web fue creado de forma gratuita con PaginaWebGratis.es. ¿Quieres también tu sitio web propio?
Registrarse gratis