Buscador
YoReparo.com La Web 

Regístrate gratis para participar de los foros, o si ya estás registrado haz login.

Validar campo solo de texto

comentario del autor Vie Feb 01, 2008 10:45 pm
   
Buenas noches con todos los foristas, estoy realizando una web site, pero necesito ayuda para validar un campo de formulario para que solo valide texto, nada de numeros ni simbolos, por favor si me podrían ayudar con la codificación del javascript se los agradeceria bastante

batnie_92

Reputación

solución Mar Feb 05, 2008 9:53 pm
   
Hola:

En primer lugar, se crea el formulario de manera normal, usando las etiquetas HTML convencionales. En la página de ejemplo aparece el formulario cuyo código se lista a continuación:

Código:
<form method = "POST" name = "registro" onSubmit = "return validar(this)" action = "formularios.asp">
Nombre: <input type="text" name="nombre" size="20">
Edad: <input type="text" name="edad" size="2">
Dirección de correo: <input type="text" name="correo" size="20">
<input type="submit" value="Enviar datos" name="enviar">
</form>



que consta de tres campos de entrada y un botón para enviar los datos. Se ha añadido el evento onSubmit, que se produce cuando el usuario pulsa el botón Enviar datos, de manera que se invoca a la función validar antes de transmitir nada. El argumento que toma es this, es decir, el propio formulario. A continuación se presenta el código de dicha función:

Código:

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);
}



Esta función realiza las siguientes comprobaciones:

1 - La longitud del nombre es mayor de cuatro caracteres.
2 - El nombre sólo contiene caracteres del alfabeto español, no contiene números ni caracteres no alfanuméricos.
3 - La edad sólo contiene números.
4 - El valor de la edad está comprendido entre 18 y 30.
5 - La dirección de correo incluye una arroba y su longitud es superior a cinco caracteres.

Zhener

Reputación

sin valorar Vie Feb 08, 2008 1:30 am
   
Otra forma de validar... un poquito mas simple... escrito en PHP

Pagina Web
Código:
<!-- Formulario tipico -->
<form action = "validar.php" method = "POST">
   Nombre: <input type = "TEXT" name = "nombre" size = "20">
   Email:     <input type = "TEXT" name = "email" size = "50">
   <!-- Boton -->
   <input type = "SUBMIT" value = "Enviar datos" name = "enviar">
</form>


Archivo Validar.php
Código:
<?php
   // Obtengo los datos a validar
   $nombre = $_POST['nombre'];
   $email = $_POST['email'];
   $error = false; // no hay errores
   
   // Validar el Nombre ( solo caracteres )
   if (ereg("[^0-9]", trim($nombre))) {
      // Validar el Email
      if (ereg("[0-9a-zA-Z_]+@[a-zA-Z0-9.-]+\.[a-zA-Z]", trim($email))) {
         // Todo OK
         echo "Datos correctos!!!";
         exit();
      } else { // Error en el mail
         $error = true;
      }
   } else { // Error en el nombre
      $error = true;
   }
   
   // Muestro el error (Aca se puede hacer cualquier cosa!!!)
   if ($error == true) {
      echo "Error los datos no son correctos <br> por favor intentelo nuevamente";
      exit();
   }
?>


Saludos
MadeInChina

MadeInChina

Reputación

sin valorar Vie Feb 08, 2008 9:09 am
   
Cita:
Buenas noches con todos los foristas, estoy realizando una web site, pero necesito ayuda para validar un campo de formulario para que solo valide texto, nada de numeros ni simbolos, por favor si me podrían ayudar con la codificación del javascript se los agradeceria bastante


Leer bien los post.

Zhener

Reputación



Hacer una pregunta

Reglamento / P+F

Foros

Miembros / Expertos