Contenidos - Mapa de la Web - Contactos - Enlaces a otras webs  
Formularios
- Validaciones
- Salto automático
- Búsqueda en SELECT
- Envío de correos
- Paso de parámetros

 
Entradas
- Eventos del ratón
- Eventos del teclado

 
Capas
- Movimientos
- Manejadores
- Escrituras

 
Sonidos
- Músicas Midi
- WaveAudio

 
Validaciones mediante JavaScript
     Existen varios tipos de validaciones según la entrada que queramos enviar en el formulario, así como funciones que las validan. A continuación expongo las más utilizadas por mí a lo largo de 4 años...
  • Campos de sólo texto (con caractéres especiales)
  • Campos de sólo números
  • Campos de e-mail
  • Campos vacíos
  • Realizar una validación antes de enviar los contenidos


  • Validaciones de campos alfanumericos
         Para realizar este tipo de validaciones, yo utilizo una función que se cerciora de que en el campo elegido no existen números (p.e. en campos de nombres, y mis disculpas a R2D2 y C3PO).

         La función descrita es la que aparece a continuación:
    function ValidarAlfanumerico(cadena) {
    var numeros="0123456789";
    for (var i=0;i<cadena.length;i++) {
    	if (numeros.indexOf(cadena.substring(i,i+1))!=-1){
    		alert("El campo seleccionado contiene números");
    		return false;
    		}
    	}
    alert("El campo seleccionado es correcto");
    return true;
    }
    
         A continuación incluyo una prueba del código propuesto:

    Validaciones de campos numericos
         La sencillez de la función anterior permite su uso en la validación contraria, la de sólo números (p.e. teléfono, C.P., etc):
    function ValidarNumerico(cadena) {
    var numeros="0123456789";
    for (var i=0;i<cadena.length;i++) {
    	if (numeros.indexOf(cadena.substring(i,i+1))==-1){
    		alert("El campo seleccionado no es correcto");
    		return false;
    		}
    	}
    alert("El campo seleccionado es correcto");
    return true;
    }
    
         A continuación incluyo una prueba del código propuesto:

    Validaciones de email
         Lo normal en estos casos, es comprobar que la cadena posee una @, pero en este caso lo amplié para que además de la arroba reconociera también al menos un punto después de esta.
    function ValidarEmail(cadena) {
    var i;
    i=cadena.indexOf('@');
    if (i!=-1) {
    	if (cadena.indexOf('.',i)!=-1) {
    		alert("La cadena es válida");
    		return true;
    		}
    }
    alert("El e-mail introducido no es correcto");
    return false;
    }
    
         A continuación incluyo una prueba del código propuesto:

    Validaciones de cadenas en blanco
         En este caso lo único necesario es comprobar la longitud, pero en caso de que la cadena se componga de blancos, también conviene quitarlos.

         Introduzco dos códigos, el primero para validar sin quitar los blancos y el segundo quitándolos:
    function CadenaVacia(cadena) {
    if (cadena.length==0){
    	alert("La cadena introducida está vacía");
    	return true;
    	}
    else {
    	alert("La cadena introducida no está vacía");
    	return false;
    	}
    }
    
    function CadenaVaciaBlancos(cadena) {
    var salida='';
    for (var i=0;i<cadena.length;i++) {
    	if (cadena.substring(i,i+1)!=' ')
    		salida=salida+cadena.substring(i,i+1);
    	}
    if (salida.length==0){
    	alert("La cadena introducida está vacía");
    	return true;
    	}
    else {
    	alert("La cadena introducida no está vacía");
    	return false;
    	}
    }
    
         A continuación incluyo una prueba del código propuesto:

    Validar antes de enviar
         Utilizando las funciones antes especificadas vamos a realizar la validación de un formulario ántes de enviarlo, es decir, que si se pulsa el botón de enviar, no hace nada hasta que los valores sean correctos.
    function ValidarFormulario(e) {
    if (CadenaVaciaBlancos(e.nombre.value)) {
    	alert("El campo de nombre es obligatorio");
    	e.nombre.select();
    	return false;
    	}
    if (CadenaVaciaBlancos(e.telefono.value)) {
    	alert("El campo de telefono es obligatorio");
    	e.telefono.select();
    	return false;
    	}
    if (!ValidarAlfanumerico(e.nombre.value)) {
    	alert("El nombre ha de ser alfanumérico");
    	e.nombre.select();
    	return false;
    	}
    if (!ValidarNumerico(e.telefono.value)) {
    	alert("El telefono ha de ser numérico");
    	e.telefono.select();
    	return false;
    	}
    if (!ValidarEmail(e.email.value) && 
    	!CadenaVaciaBlancos(e.email.value)) {
    	alert("El e-mail no es correcto");
    	e.email.select();
    	return false;
    	}
    e.submit();
    }
    
         El código HTML del formulario sería el siguiente:
    <form name="form1" method="post" action="">
    <input type="text" name="nombre" value="" size="50">
    <input type="text" name="telefono" value="" size="50">
    <input type="text" name="email" value="" size="50">
    <input type="button" onClick="ValidarFormulario(this.form)" 
    value="Enviar Formulario">
    </form>
         A continuación incluyo una prueba del código propuesto:
    Nombre:
    Teléfono:
    E-mail:

    Última modificación el