Hola maestro!
El script podría ser así:
Código PHP:
<html>
<head>
<script>
letra=["T","R","W","A","G","M","Y","F","P","D","X","B","N","J","Z","S","Q","V","H","L","C","K","E","F"]
function comprobar(){
tecleado=document.forms[0].nif.value.toUpperCase();
caracteres=tecleado.length;
if(caracteres<7){mal("NIF demasiado corto");return false;}
letrapuesta=tecleado.charAt(caracteres-1);
if(letrapuesta==letrapuesta.toLowerCase()){mal("Falta la letra del NIF");return false;}
numero=tecleado.substring(0,caracteres-1);
if (isNaN(numero)){mal("Número del NIF inválido");return false;}
if(letrapuesta.toUpperCase()!=letra[numero%23]){mal("NIF Inválido");return false;}
document.forms[0].submit();
}
function mal(mensaje){
alert(mensaje);
document.forms[0].nif.value="";
document.forms[0].nif.focus();
}
</script>
</head>
<body style="font:bold 10px/10px verdana">
<form action="javascript:alert('Mandando!!')" name="formulario" id="formulario">
Introduce el NIF: <input type="text" name="nif" size="10" maxlength="10" style="font: normal 11px/10px verdana;"><input type="button" name="enviar" onclick="comprobar()" style=" heigth:12px;font: normal 10px/10px verdana;" value="ENVIAR!"><br>
<font style="font:bold 9px/9px verdana">(12345678X)</font>
</form>
</body>
¿Es lo que querías?