Aqui te paso un formulario completo con los dos tipos de campo alfanúmerico y númerico, espero que te funcione para esto y otras cosas.
gigi
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
function validar() {
// Array con todos los elementos del formulario
camposTexto = formulario.elements;
for (x=0; x < camposTexto.length; x++) {
if (camposTexto[x].value == '' && camposTexto[x].type=='text') {
alert("Debe llenar todos los campos ");
return false;
}
}
// Aqui verifica que el campo NOMBRE sean solo letras
var checkOK = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZÁÉÍÓÚ" + "abcdefghijklmnñopqrstuvwxyzáéíóú ";
var checkStr = formulario.nom.value;
var allValid = true;
for (i = 0; i < checkStr.length; i++) {
ch = checkStr.charAt(i);
for (j = 0; j < checkOK.length; j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length) {
allValid = false;
break;
}
}
if (!allValid) {
alert("Escriba sólo letras en el campo NOMBRE");
formulario.nom.focus();
return (false);
}
// Aqui verifica que el campo RFC sean solo letras
var checkOK = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZÁÉÍÓÚ0123456789" + "abcdefghijklmnñopqrstuvwxyzáéíóú ";
var checkStr = formulario.rfc.value;
var allValid = true;
for (i = 0; i < checkStr.length; i++) {
ch = checkStr.charAt(i);
for (j = 0; j < checkOK.length; j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length) {
allValid = false;
break;
}
}
if (!allValid) {
alert("Escriba sólo letras y números permitidos en el campo RFC");
formulario.rfc.focus();
return (false);
}
// Aqui verifica que el campo DIRECCION sean solo letras
var checkOK = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZÁÉÍÓÚ0123456789" + "abcdefghijklmnñopqrstuvwxyzáéíóú ";
var checkStr = formulario.dir.value;
var allValid = true;
for (i = 0; i < checkStr.length; i++) {
ch = checkStr.charAt(i);
for (j = 0; j < checkOK.length; j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length) {
allValid = false;
break;
}
}
if (!allValid) {
alert("Escriba sólo letras y números permitidos en el campo Dirección");
formulario.dir.focus();
return (false);
}
// Aqui verifica que el campo COLONIA sean solo letras
var checkOK = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZÁÉÍÓÚ0123456789" + "abcdefghijklmnñopqrstuvwxyzáéíóú ";
var checkStr = formulario.col.value;
var allValid = true;
for (i = 0; i < checkStr.length; i++) {
ch = checkStr.charAt(i);
for (j = 0; j < checkOK.length; j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length) {
allValid = false;
break;
}
}
if (!allValid) {
alert("Escriba sólo letras y números permitidos en el campo Colonia");
formulario.col.focus();
return (false);
}
// Verifica que el campo TELEFONO sea puros numeros
var checkOK = "0123456789";
var checkStr = formulario.tel.value;
var allValid = true;
var decPoints = 0;
var allNum = "";
for (i = 0; i < checkStr.length; i++) {
ch = checkStr.charAt(i);
for (j = 0; j < checkOK.length; j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length) {
allValid = false;
break;
}
allNum += ch;
}
if (!allValid) {
alert("Escriba sólo dígitos en el campo TELEFONO");
formulario.tel.focus();
return (false);
}
// Aqui verifica que el campo CIUDAD Y ESTADO sean solo letras
var checkOK = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZÁÉÍÓÚ0123456789" + "abcdefghijklmnñopqrstuvwxyzáéíóú ";
var checkStr = formulario.ciudad.value;
var allValid = true;
for (i = 0; i < checkStr.length; i++) {
ch = checkStr.charAt(i);
for (j = 0; j < checkOK.length; j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length) {
allValid = false;
break;
}
}
if (!allValid) {
alert("Escriba sólo letras y números permitidos en el campo Ciudad y Estado");
formulario.ciudad.focus();
return (false);
}
// Verifica que el campo CP sea puros numeros
var checkOK = "0123456789";
var checkStr = formulario.cp.value;
var allValid = true;
var decPoints = 0;
var allNum = "";
for (i = 0; i < checkStr.length; i++) {
ch = checkStr.charAt(i);
for (j = 0; j < checkOK.length; j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length) {
allValid = false;
break;
}
allNum += ch;
}
if (!allValid) {
alert("Escriba sólo dígitos en el campo CP");
formulario.cp.focus();
return (false);
}
// Verifica que el campo LIMITE DE CREDITO sea puros numeros
var checkOK = "0123456789.";
var checkStr = formulario.limite.value;
var allValid = true;
var decPoints = 0;
var allNum = "";
for (i = 0; i < checkStr.length; i++) {
ch = checkStr.charAt(i);
for (j = 0; j < checkOK.length; j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length) {
allValid = false;
break;
}
allNum += ch;
}
if (!allValid) {
alert("Escriba sólo dígitos en el campo Limite de Crédito");
formulario.limite.focus();
return (false);
}
}
//-->
</script>
</head>
<body>
<form name="formulario" method="post" onSubmit="return validar();" action="programax">
<table>
<tr>
<td>
<input type="submit" name="Submit" value="Aceptar"></font></div>
</td>
<td width="4%"><div align="center"> </div></td>
<td width="22%"><input type="reset" name="Submit2" value="Cancelar"
onClick="javascript
:top.window.close()">
</td>
</tr>
</table>
</form>
</body>
</html>