miércoles, 11 de febrero de 2015

Validación de Formularios

Visualización



Este es un ejemplo de Control de formulario. 
En este caso se han puesto en práctica las siguientes expresiones regulares:


  • var expresion_regular_nombre = /^[A-Za-záéíóúñ]{2,}([\s][A-Za-záéíóúñ]{2,})+$/; //Una palabra o varias palabras (solo letras)
  • var expresion_regular_dni = /^\d{8}[A-Z]$/; //8 cifras numéricas más letra Mayúscula
  • var expresion_regular_telefono = /^\d{9}$/; //9 cifras numéricas
  • var expresion_regular_mail = /^(.+\@.+\..+)$/; //Que contenga una arroba y un punto
  • var expresion_regular_codigo = /^\d{5}$/; //5 Caracteres numéricos
       









CÓDIGO HTML




    <form id="form" onsubmit="return validacion(this)">
   
    <p>¿Quieres contactar con nosotros o suscribirte a nuestra newsletter? </p>
   
    <p>Escríbenos o déjanos tu e-mail y tu nombre!</p>
  <div id="mensajes" style='display:none;' class="mensajes"><img src="errores.png"/> Ouh! Lo siento, has introducido datos incorrectos</div>
  <br></br><br><br>
    
    
    Nombre y apellidos *: <input type="text" id="campo1" placeholder="Nombre Apellidos" required onblur="validacionnom(form)">
    <br><br>
    NIF/CIF: <input type="text" class="cajachula" id="dni" placeholder="12345678A" onblur="validaciondni(form)" onfocus="enfoco()">
    <br><br>
    Teléfono: <input type="text" id="Telefono" placeholder="123456789" onblur="validaciontel(form)" onfocus="enfoco2()">
    <br><br>
    Email *: <input type="email" name="Email" id="useremail" placeholder="nombre@dominio.com" required onblur="validacionmail(form)" onfocus="enfoco3()">
    <br><br>
    Dirección: <input type="text" name="Dirección" id="dir"  placeholder="C/ Calle nº 3 Portal 1 Piso 3º Letra A" onblur="validaciondirec(form)">
    <br><br>
    Codigo Postal: <input type="text" name="Código Postal" id="codigo" placeholder="12345" onblur="validacioncod(form)"  onfocus="enfoco4()">
    <br></br>
   
    
   Consulta: <TEXTAREA COLS=20 ROWS=10 id="cajatext" NAME="texto" onfocus="enfoco5()"> 
   </TEXTAREA> 
   <br><br>
   <p>* Campos obligatorios.</p>
    <br></br>
   <input type="submit" value="Enviar" name="Enviar" />
   
  
</form>
</div>
</div>



CÓDIGO JAVASCRIPT



    <script>
     
     //Devolver el marco original a los inputs al poner el foco en otro
     function enfoco()
     {
          document.getElementById('campo1').style.border= '';
          document.getElementById('mensajes').style.display = 'none';
     }
     
     
     function enfoco2()
     {
              if(form.dni.value!='')//Volvemos a dejar el formulario como estaba en caso de éste encontrarse vacío, si no, se queda validado(marco verde) o incorrecto (marco rojo)
        {   
        document.getElementById('mensajes').style.display = 'none';
        document.form.dni.reset()//Intento reiniciar a cero el campo pero no funca
              }
              else
              {
              document.getElementById('dni').style.border = '';   
              }
     }
     
     
     function enfoco3()
     {
          if(form.Telefono.value!='')//Volvemos a dejar el formulario como estaba en caso de éste encontrarse vacío, si no, se queda validado(marco verde) o incorrecto (marco rojo)
          {
            document.getElementById('mensajes').style.display = 'none';
          }
          else
          {
              document.getElementById('Telefono').style.border= '';    
          }
     }
    
     
         function enfoco4()
     {
           if(form.useremail.value!='')//Volvemos a dejar el formulario como estaba en caso de éste encontrarse vacío, si no, se queda validado(marco verde) o incorrecto (marco rojo)
          {
                 document.getElementById('mensajes').style.display = 'none';
          }
          else
          {
               document.getElementById('useremail').style.border= '';     
          }
     }
     
       
         function enfoco5()
     {
           if(form.codigo.value!='')//Volvemos a dejar el formulario como estaba en caso de éste encontrarse vacío, si no, se queda validado(marco verde) o incorrecto (marco rojo)
          {
                 document.getElementById('mensajes').style.display = 'none';
          }
          else
          {
               document.getElementById('codigo').style.border= '';     
          }
     }
     
     
     
     //Expresion regular para controlar que se introduzcan nombres y apellidos que empiecen por letra mayúscula
               //Funcion para cambiar el color de la caja del formulario a verde si es correcto y a rojo si es incorrecto
    function validacionnom(form) {
      var expresion_regular_nombre = /^[A-Za-záéíóúñ]{0,40}([\s][A-Za-záéíóúñ]{0,40})+$/; //Varias palabras empezando por Mayúsculas
     
      if((expresion_regular_nombre.test(form.campo1.value)==false) && form.campo1.value!='') {
        
        document.getElementById('campo1').style.border= '2px solid red';
        document.getElementById('campo1').focus()
        document.getElementById('mensajes').style.display = 'block';
        return false; //sale de la funcion y NO envía el formulario
      }
      
      
      else
      {
        if(form.campo1.value!='')
        {
        document.getElementById('campo1').style.border= '2px solid #3aba0f';
        document.getElementById('mensajes').style.display = 'none';
        return true;
        }
      }
    }
     
    
    
   //Expresion regular para controlar que el usuario introduzca ocho dígitos y una letra.
     //Esta funcion resalta el color de la caja del formulario a verde si es correcto y a rojo si es incorrecto
    function validaciondni(form)
    {
       var expresion_regular_dni = /^\d{8}[A-Z]$/; //8 cifras numéricas más letra Mayúscula
      
      if((expresion_regular_dni.test(form.dni.value)==false) && form.dni.value!='') {
        
        document.getElementById('dni').style.border= '2px solid red';
        document.getElementById('mensajes').style.display = 'block';
        
        return false; //sale de la funcion y NO envía el formulario
      }
      else
      {
        if(form.dni.value!='')
        {   
        document.getElementById('dni').style.border= '2px solid #3aba0f';
        document.getElementById('mensajes').style.display = 'none';
        return true;
        }
      }
    }
    
    
    
    //Expresion regular para controlar que el usuario introduzca nueve números.
       //Funcion para cambiar el color de la caja del formulario a verde si es correcto y a rojo si es incorrecto
    function validaciontel(form) {
      var expresion_regular_telefono = /^\d{9}$/; //9 cifras numéricas
      
      if((expresion_regular_telefono.test(form.Telefono.value)==false) && form.Telefono.value!='') {
        
        document.getElementById('Telefono').style.border= '2px solid red';
        document.getElementById('mensajes').style.display = 'block';
        return false; //sale de la funcion y NO envía el formulario
      }
      else
      {
        if(form.Telefono.value!='')
        {
          document.getElementById('Telefono').style.border= '2px solid #3aba0f';
          document.getElementById('mensajes').style.display = 'none';
          return true;
        }
      }
    }
    
    
    
    //Expresion regular para controlar que el usuario introduzca una dirección de correo electrónico válida.
          //Funcion para cambiar el color de la caja del formulario a verde si es correcto y a rojo si es incorrecto
    function validacionmail(form) {
      var expresion_regular_mail = /^(.+\@.+\..+)$/; //Que contenga palabra, un arroba, palabra, punto, palabra (todo seguido)
      
      if((expresion_regular_mail.test(form.useremail.value)==false) && form.useremail.value!='') {
        
        document.getElementById('useremail').style.border= '2px solid red';
        document.getElementById('mensajes').style.display = 'block';
        return false; //sale de la funcion y NO envía el formulario
      }
         else
      {
        if(form.useremail.value!='')
        {
      
      document.getElementById('useremail').style.border= '2px solid #3aba0f';
      document.getElementById('mensajes').style.display = 'none';
      return true;
        }
      }
    }
    
    
    
    //Expresion regular para controlar que el usuario introduzca cinco dígitos
              //Funcion para cambiar el color de la caja del formulario a verde si es correcto y a rojo si es incorrecto
    function validacioncod(form) {
      var expresion_regular_codigo = /^\d{5}$/; //5 Caracteres numéricos
      
      if((expresion_regular_codigo.test(form.codigo.value)==false) && form.codigo.value!='') {
        
        document.getElementById('codigo').style.border= '2px solid red';
        document.getElementById('mensajes').style.display = 'block';
        return false; //sale de la funcion y NO envía el formulario
      }
            else
      {
        if(form.codigo.value!='')
        {
      document.getElementById('codigo').style.border= '2px solid #3aba0f';
      document.getElementById('mensajes').style.display = 'none';
      return true;
        }
      }
    }
    
    
    
    
    //FUNCION GLOBAL QUE COMPRUEBA TODOS LOS CAMPOS ANTES DE ENVIAR
    //Función que ejecuta el evento onSubmit que comprueba al menos los campos obligatorios antes de enviar el formulario.
       //Funcion para cambiar el color de la caja del formulario a verde si es correcto y a rojo si es incorrecto
    function validacion(form) {
      var expresion_regular_nombre = /^[A-Za-záéíóúñ]{2,}([\s][A-Za-záéíóúñ]{2,})+$/; //Una palabra o varias palabras (solo letras)
      var expresion_regular_dni = /^\d{8}[A-Z]$/; //8 cifras numéricas más letra Mayúscula
      var expresion_regular_telefono = /^\d{9}$/; //9 cifras numéricas
      var expresion_regular_mail = /^(.+\@.+\..+)$/; //Que contenga una arroba y un punto
      var expresion_regular_codigo = /^\d{5}$/; //5 Caracteres numéricos
      
      if(expresion_regular_nombre.test(form.campo1.value)==false) {
        
        document.getElementById('campo1').style.border= '3px solid red';
        document.getElementById('mensajes').style.display = 'block';
        return false; //sale de la funcion y NO envía el formulario
      }
                          
      else
      {       
        document.getElementById('campo1').style.border= '2px solid #3aba0f';
        document.getElementById('mensajes').style.display = 'none';
      }
       
      
      if((expresion_regular_dni.test(form.dni.value)==false) && form.dni.value!='') {
        
        document.getElementById('dni').style.border= '3px solid red';
        document.getElementById('mensajes').style.display = 'block';
        
        return false; //sale de la funcion y NO envía el formulario
      }
      else
      {
        if(form.dni.value!='')
        {   
        document.getElementById('dni').style.border= '2px solid #3aba0f';
        document.getElementById('mensajes').style.display = 'none';
        return true;
        }
      }
      
      
      
       if((expresion_regular_telefono.test(form.Telefono.value)==false) && form.Telefono.value!='') {
        
        document.getElementById('Telefono').style.border= '3px solid red';
        document.getElementById('mensajes').style.display = 'block';
        return false; //sale de la funcion y NO envía el formulario
      }
      else
      {
        if(form.Telefono.value!='')
        {
          document.getElementById('Telefono').style.border= '2px solid #3aba0f';
          document.getElementById('mensajes').style.display = 'none';
          return true;
        }
      }
      
      
      if((expresion_regular_codigo.test(form.codigo.value)==false) && form.codigo.value!='') {
        
        document.getElementById('codigo').style.border= '3px solid red';
        document.getElementById('mensajes').style.display = 'block';
        return false; //sale de la funcion y NO envía el formulario
      }
            else
      {
        if(form.codigo.value!='')
        {
      document.getElementById('codigo').style.border= '2px solid #3aba0f';
      document.getElementById('mensajes').style.display = 'none';
      return true;
        }
      }
      
      if(expresion_regular_mail.test(form.useremail.value)==false) {
        
        document.getElementById('useremail').style.border= '3px solid red';
         document.getElementById('mensajes').style.display = 'block';
        return false; //sale de la funcion y NO envía el formulario
      }
      else
      {
      document.getElementById('useremail').style.border= '2px solid #3aba0f';
      document.getElementById('codigo').style.border= '2px solid #3aba0f';
       document.getElementById('Telefono').style.border= '2px solid #3aba0f';
       document.getElementById('dni').style.border= '2px solid #3aba0f';
       document.getElementById('dir').style.border= '2px solid #3aba0f';
       document.getElementById('cajatext').style.border= '2px solid #3aba0f';
      alert('¡Gracias por rellenar nuestro formulario correctamente!\n\nAtenderemos tu petición lo más brevemente posible'); 
      return true; // sale de la función y SÍ envía el formulario
      }
      
    }
    
    
    </script>
       

lunes, 2 de febrero de 2015

Efectos aplicados en Plantillas

En las siguientes plantillas se han aplicado diferentes efectos.


PLANTILLA 1



  • En primer lugar se ha aplicado un efecto de lightbox a las tres imágenes inferiores de la página.




  • En la siguiente imagen se ha colocado un botón que al hacer click o intentar pulsarlo cambia de posición.





  • El siguiente ejemplo es un div que permanece oculto y que se despliega al hacer click en "Read More".





  • Este efecto dibuja una cara en la parte superior izquierda de la página cuyos ojos siguen en todo momento al cursor.






PLANTILLA 2

  • En la siguiente plantilla se han aplicado dos efectos distintos. Por un lado se ha incorporado una lupa a la primera imagen, haciendo zoom sobre las coordenadas donde esté situado el ratón.
  • Por otro lado se ha añadido una imágen .gif de una estrella que parpadea y funciona como rastro del ratón






jueves, 15 de enero de 2015

Búsqueda en Google

Diferentes formas de especificar la búsqueda en google


1. Con todas las palabras








3. Con alguna de las palabras






4. Sin las palabras







5. Idioma






6. Región



7. Formato de Archivo







8. Fecha



9. Rango numérico



10. Presencia(En que parte de la página)



11. Dominios



12. Derechos de uso



13. Búsqueda segura



14. Similar



15. Enlace