lunes, 18 de noviembre de 2013

Validaciones de fechas con ActionScript 3.0

Como cualquier programador es sabido, las validaciones son de lo más engorroso pero es lo que nos permite dormir tranquilos más de 3 horas seguidas. Aqui dejo algunas funciones que nos servirán para validar fechas en ActionScript 3.0 y una rutina, sencilla pero muy util, para validar los correos electrónicos con expresiones regulares. Espero que sean de utilidad:

function validaFechaDD_MM_AAAA(fecha) {
      var datos = fecha.split("/");
      if(datos.length!=3) return false;
      return validaFecha(datos[0], datos[1], datos[2]);
  } 
  function validaCorreo(mail):Boolean{
      var reg:RegExp = /^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/
      return reg.test(mail);
  }

  function validaFecha(d, m, a){
      var hoy = new Date();
      var dd = Number(d);
      var mm = Number(m);
      var aa = Number(a);
      var diasMes = new Array();
      //No es numerico
      if(isNaN(dd)) return false;
      if(isNaN(mm)) return false;
      if(isNaN(aa)) return false;
      //
      if(a<1900) return false;
       if(a>hoy.getFullYear()) return false;
      //
     var febrero = (((aa % 4 == 0) && ( (!(aa % 100 == 0)) || (aa % 400 == 0))) ? 29 : 28 );
      //
      for (var i = 1; i <= 12; i++) {
          diasMes[i] = 31;
          if (i==4 || i==6 || i==9 || i==11) diasMes[i] = 30;
          if (i==2) diasMes[i] = febrero;
      }
      //
      if(dd>diasMes[mm]) return false;
      //
      return true;
 }
function calculaEdad() {
     dia = dia_txt.text;
      mes = mes_txt.text;
      anio = anio_txt.text;
      if(validaFecha(dia, mes, anio)){
          var nac = new Date(Number(anio), Number(mes), Number(dia));
          var hoy = new Date();
          var pasadoCumple = ((nac.getMonth() < hoy.getMonth()) || ((nac.getMonth() == hoy.getMonth()) && (nac.getDate ()  <= hoy.getDate () )))
          var edad = pasadoCumple?(hoy.getFullYear() - nac.getFullYear()):(hoy.getFullYear() - nac.getFullYear() - 1);
         edad_txt.text = String(edad);
     } else {
          edad_txt.text = "Error";
      }
  }

http://www.pacoarce.com

No hay comentarios:

Publicar un comentario