La Web del Programador: Comunidad de Programadores
 
    Pregunta:  7766 - VALIDACIóN FORMULARIOS
Autor:  Jaime Augusto Rúa Peláez
Como valido un formulario para que en un campo alfanumérico me digiten solo letras, y en un campo numérico me digiten solo números? me gustaria tener un ejemplo validando nombre y código por decir algo.

  Respuesta:  Summergirl
Aquí tienes el código para lo que necesitas.
Como puedes ver las comprobaciones se hacen "onBlur", es decir, una vez focalizas (pinchas con el ratón) sobre un elemento distinto del formulario.
El script es mejorable, por supuesto, pero espero que te valga como idea para perfeccionarlo y adaptarlo a tus necesidades.

<html>
<head><title>Letras y Numeros</title>

<script language="javascript">

var errorTxt= new Array();
errorTxt=[
"",
"No es un numero",
"Solo se admiten letras"
];

function EsNumero(numero) {
return (!isNaN(numero));
}

function SonLetras(cadena) {
var long= cadena.length;
cadena= cadena.toLowerCase();
for (var k=0;k<long;k++) {
caracter= cadena.charAt(k);
if ((caracter < 'a') || (caracter > 'z')) {
return false;
}
}
return true;
}

function Comprueba (modo, valor) {
if (modo == 1) {
ret= EsNumero(valor);
}
if (modo == 2) {
ret= SonLetras(valor);
}

if (!ret) {
alert (errorTxt[modo]);
return false;
} else {
return true;
}
}
</script>
</head>

<body>

<form>
Introduce solo numeros:
<input type="text" name="numero" onBlur="Comprueba(1,this.form.numero.value)">
<br>
Introduce solo letras:
<input type="text" name="letras" onBlur="Comprueba(2,this.form.letras.value)">

<input type="submit" value="ok">
</form>

</body>
</html>

Saludos.