Archivo de 2008

Continuando con las expresiones regulares, para validar fechas se puede utilizar la siguiente función en ASP:

function esValidoFecha(cadena)
  set expReg = New RegExp
  expReg.Pattern = "^(((0[1-9]|[12][0-9]|3[01])([/])(0[13578]|10|12)([/])_
                    (\d{4}))|(([0][1-9]|[12][0-9]|30)([/])(0[469]|11)_
                    ([/])(\d{4}))|((0[1-9]|1[0-9]|2[0-8])([/])(02)([/])_
                    (\d{4}))|((29)(\.|-|\/)(02)([/])([02468][048]00))|_
                    ((29)([/])(02)([/])([13579][26]00))|((29)([/])(02)_
                    ([/])([0-9][0-9][0][48]))|((29)([/])(02)([/])([0-9]_
                    [0-9][2468][048]))|((29)([/])(02)([/])([0-9][0-9]_
                    [13579][26])))$"
  esValidoFecha = expReg.Test(cadena)
  set expReg = nothing
end function

La expresión regular (que se puede poner en una única línea eliminando los _ finales) es un poco larga porque ha de tener en cuenta los días de los meses del año, los años bisiestos,… Para validar del lado del cliente (antes de enviar el formulario), se puede utilizar el mismo patrón en Javascript:

function esValidoFecha(cadena) {
  strExpReg = /^(((0[1-9]|[12][0-9]|3[01])([/])(0[13578]|10|12)([/])_
                (\d{4}))|(([0][1-9]|[12][0-9]|30)([/])(0[469]|11)_
                ([/])(\d{4}))|((0[1-9]|1[0-9]|2[0-8])([/])(02)([/])_
                (\d{4}))|((29)(\.|-|\/)(02)([/])([02468][048]00))|_
                ((29)([/])(02)([/])([13579][26]00))|((29)([/])(02)_
                ([/])([0-9][0-9][0][48]))|((29)([/])(02)([/])([0-9]_
                [0-9][2468][048]))|((29)([/])(02)([/])([0-9][0-9]_
                [13579][26])))$/;
  return strExpReg.test(cadena);
}

En esta función en Javascript sí que es necesario juntar la expresión en una única línea quitando los _ porque de lo contrario no funcionará.

Etiquetas: , , ,

Comments 8 Comentarios »

Entre los anuncios de diversas páginas web he visto muchas veces el de un grupo inversor privado que desde 1989 parece que se dedica a la inversión con alto rendimiento. Según pone en su página web (es probable que en esta página aparezca el enlace), se invierte un capital que puede ser de por ejemplo 2000 ó 6000 euros y se obtienen todos los meses 140 ó 180 euros. No conozco el tema a fondo, pero por informase en la web no se pierde nada. Parece ser que son un grupo de varias empresas que se dedican a las subastas y los préstamos. En la web pone más información, tendré que investigarlas mejor a ver qué ofrecen.

Este post también lo podréis encontrar en Inversión y Ahorros, con otros comentarios de visitantes diferentes a los que aparecen aquí.

Parece que se trataba de una estafa piramidal y ha sido desmantelada recientemente:

Etiquetas: , , , ,

Comments 29 Comentarios »

A la hora de mantener y cambiar contenidos de una página web, las cachés de los navegadores pueden jugar malas pasadas a los desarrolladores y diseñadores web, haciendo que los cambios no se reflejen de manera inmediata, sobretodo con contenidos en flash. Las cachés de los navegadores y los proveedores de Internet (como el famoso Proxy-caché de Telefónica) guardan las urls completas para ver si la tienen en caché a la hora de solicitar una página. Así, cuando la caché está activada y un usuario solicita la página http://www.example.com/a.htm, el navegador mira si tiene esa url y archivo en caché y si es así, lo coge de caché y no lo solicita al servidor.

Un truco para evitar que el navegador mire en la caché es pedirle la misma página pero con diferente url, es decir, http://www.example.com/a.htm?1 es una url diferente a http://www.example.com/a.htm?2, pero sin embargo devuelve la misma página. Los parámetros que le pasamos a la página (1 y 2) no son interpretados, con lo que es como si no estuvieran pero hacen que la url sea diferente. Para asegurarse de que el parámetro siempre será diferente, podemos generarlo dinámicamente desde asp o cualquier otro lenguaje y podemos utilizar la función en jscript getTime(), que nos devuelve la cantidad de milisegundos transcurridos desde el 1 de Enero de 1970 hasta el momento actual. De esta manera, podemos generar los enlaces desde páginas asp con esta función:

<script language="jscript" runat="server">
function getTime() {
 var d = new Date();
 return d.getTime();
}
</script>

y generar el enlace así:

<a href="http://www.example.com/a.htm?<%=getTime()%>">Enlace sin cache</a>

que se convertiría en algo así:

<a href="http://www.example.com/a.htm?1224505518887">Enlace sin cache</a>

Este truco es especialmente útil cuando una página contiene un objeto flash. En el ejemplo anterior, llamando a http://www.example.com/a.htm?1224505518887 devuelve el código html actualizado, pero si hay algún objeto flash que queramos actualizar en el interior de la página, esta solución no funciona, ya que la url del objeto flash llamado siempre será la misma. Para resolver esto, hemos de aplicar la variable de tiempo anterior directamente a la llamada al objeto flash:

<object classid="clsid:d27...">
  <param name="movie" value="home.swf?<%=getTime()%>" />
  <embed src="home.swf?<%=getTime()%>" pluginspage... />
</object>

quedando algo así:

<object classid="clsid:d27...">
  <param name="movie" value="home.swf?1224505518887" />
  <embed src="home.swf?1224505518887" pluginspage... />
</object>

y lo guardamos como asp con la funcion jscript getTime definida. De esta manera nos aseguramos que el objeto flash será leído del servidor sin pasar por la caché sin necesidad de cambiarle el nombre al archivo. Después, simplemente hay que llamar a la página http://www.example.com/a.asp, sin la variable de tiempo, porque ya se genera en el código de la página y lo que realmente nos interesa actualizar es el objeto flash.

Este tipo de solución también se puede utilizar para refrescar la página cada ciertos segundos, como una página que visualice una webcam que actualiza las imágenes por FTP cada x segundos.

Etiquetas: , ,

Comments 1 Comentario »

Enjuto Mojamuto, el popular personaje de Muchachada nui creado por Joaquín Reyes, en el episodio “El peor día de mi vida”, con el que muchos nos identificamos.

Etiquetas: , , , ,

Comments No Hay Comentarios »

Las expresiones regulares en programación son útiles para validar campos enviados y parámetros recibidos de formularios web en lenguaje ASP o Javascript.

Etiquetas: , , , , ,

Comments No Hay Comentarios »

Aquí os dejo un chiste gráfico que cada vez que leo hace que me parta de risa por la razón que tiene, a todos los usuarios nos ha pasado algo parecido al estar delante del ordenador…

Etiquetas: , , , , ,

Comments No Hay Comentarios »

El Fondo de Garantía de Depósitos garantiza hasta 100.000 euros por titular y entidad bancaria en caso de quiebra del banco en España.

Etiquetas: , , , , , , , ,

Comments No Hay Comentarios »

Los bancos por Internet sin comisiones como ING Direct y su Cuenta Naranja son la mejor alternativa a los bancos tradicionales.

Etiquetas: , , , , ,

Comments No Hay Comentarios »