Hola
laupatri1084 en librosweb hay un capítulo en Javascipt titulado
Utilidades básicas para formularios. Allí encontré el siguiente código que sirve para
Restringir los caracteres permitidos en un cuadro de texto (solo letras, solo números, y letras y números):
Código HTML:
function permite(elEvento, permitidos) {
// Variables que definen los caracteres permitidos
var numeros = "0123456789";
var caracteres = " abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ";
var numeros_caracteres = numeros + caracteres;
var teclas_especiales = [8, 37, 39, 46];
// 8 = BackSpace, 46 = Supr, 37 = flecha izquierda, 39 = flecha derecha
// Seleccionar los caracteres a partir del parámetro de la función
switch(permitidos) {
case 'num':
permitidos = numeros;
break;
case 'car':
permitidos = caracteres;
break;
case 'num_car':
permitidos = numeros_caracteres;
break;
}
// Obtener la tecla pulsada
var evento = elEvento || window.event;
var codigoCaracter = evento.charCode || evento.keyCode;
var caracter = String.fromCharCode(codigoCaracter);
// Comprobar si la tecla pulsada es alguna de las teclas especiales
// (teclas de borrado y flechas horizontales)
var tecla_especial = false;
for(var i in teclas_especiales) {
if(codigoCaracter == teclas_especiales[i]) {
tecla_especial = true;
break;
}
}
// Comprobar si la tecla pulsada se encuentra en los caracteres permitidos
// o si es una tecla especial
return permitidos.indexOf(caracter) != -1 || tecla_especial;
}
// Sólo números
<input type="text" id="texto" onkeypress="return permite(event, 'num')" />
// Sólo letras
<input type="text" id="texto" onkeypress="return permite(event, 'car')" />
// Sólo letras o números
<input type="text" id="texto" onkeypress="return permite(event, 'num_car')" />
En el mismo sitio también encuentras el código necesario para
Validar un campo de texto obligatorio:
Código HTML:
valor = document.getElementById("campo").value;
if( valor == null || valor.length == 0 || /^\s+$/.test(valor) ) {
return false;
}
Puedes combinar ambas piezas de código para hacer lo que deseas, y no olvides consultar la fuente original para que aprendas que hace cada parte. Si quieres aprender javascript el libro correspondiente en
librosweb es estupendo.