Foros del Web » Programando para Internet » Javascript »

Validar campos numericos vacios y texto en un mismo form

Estas en el tema de Validar campos numericos vacios y texto en un mismo form en el foro de Javascript en Foros del Web. Holas, como puedo validar campos numericos,texto,vacios y email en un mismo formulario????...
  #1 (permalink)  
Antiguo 02/06/2004, 10:58
 
Fecha de Ingreso: enero-2002
Ubicación: Callao - Perú
Mensajes: 1.127
Antigüedad: 22 años, 10 meses
Puntos: 0
Exclamación Validar campos numericos vacios y texto en un mismo form

Holas, como puedo validar campos numericos,texto,vacios y email en un mismo formulario????
__________________
SaLuDoS dE:
PePeLuChO dEl PeRú PaRa El MuNdO
  #2 (permalink)  
Antiguo 11/06/2004, 16:35
Avatar de Untergang  
Fecha de Ingreso: abril-2003
Ubicación: México
Mensajes: 138
Antigüedad: 21 años, 7 meses
Puntos: 0
???

Pues... PROGRAMANDO... no hay otra forma :D !!!

Un ejemplo:

function validar(formulario) {
if (formulario.nombre.value.length < 4) {
alert("Escriba por lo menos 4 caracteres en el campo \"Nombre\".");
formulario.nombre.focus();
return (false);
}
var checkOK = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZÁÉÍÓÚ" + "abcdefghijklmnñopqrstuvwxyzáéíóú ";
var checkStr = formulario.nombre.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.nombre.focus();
return (false);
}
var checkOK = "0123456789";
var checkStr = formulario.edad.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 \"Edad\".");
formulario.edad.focus();
return (false);
}
var chkVal = allNum;
var prsVal = parseInt(allNum);
if (chkVal != "" && !(prsVal >= "18" && prsVal <= "30")) {
alert("Escriba un valor mayor o igual que 18 y menor o igual que 30 en el campo \"Edad\".");
formulario.edad.focus();
return (false);
}
if ((formulario.correo.value.indexOf ('@', 0) == -1)||(formulario.correo.value.length < 5)) {
alert("Escriba una dirección de correo válida en el campo \"Dirección de correo\".");
return (false);
}
return (true);
}

Y en el <Form> tienes que poner la llamada a la función con algo así:

onSubmit = "return validar(this)"

Saludos!!!
__________________
<<No hay Luz sin Oscuridad>>

Última edición por Untergang; 11/06/2004 a las 17:28
  #3 (permalink)  
Antiguo 14/06/2004, 17:31
 
Fecha de Ingreso: mayo-2004
Mensajes: 25
Antigüedad: 20 años, 5 meses
Puntos: 0
De acuerdo Validación de campos

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>
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:34.