Espacio de tecnologia, software libre y sus derivados. Una horda de monos entrenados escriben de vez en cuando por aqui algunas noticias, opiniones e incluso alguna que otra cosa fuera del tema. Maqueros, favor de abstenerse que no somos lo suficientemente guapos.

Piano daemon

Archive for November, 2008

Terminator 3 … jajajja

Les dejo este trailer que encontre en youtube… esta bastante bueno…. nada que ver con la movie original

Expresiones regulares .. que podrias necesitar

# Request HTTP de un metodo POST
req = self.request()

#Valida el campo login
if not re.match (’[A-Za-z0-9\-]’,req.field(’login’)):
raise ValidarError, “El login no puede contener simbolos de puntuacion”

#Valida el campo username
if not re.match (’[.A-Za-z]’,req.field(’username’)):
raise ValidarError, “Nombre de Usuario no valido”

#Validando el correo el electronico
if not re.match (’^[^@ ]+@[^@ ]+.[^@ .]+$’,req.field(’email’)):
raise ValidarError, “Correo Electronico no valido”

#Validando una fecha mm-dd-yyyy
if not re.match (’^[0-1][0-9][-/][0-3][0-9][-/][0-9]\{4\}$’,req.field(’fecha’)):
raise ValidarError, “Fecha no valida”

#Validando un precio unitario (cantidad en moneda x)
if not re.match (’^\b[0-9]{1,3}(?:,?[0-9]{3})*(?:\.[0-9]{2})?\b’, req.field(’precio’)):
raise ValidarError, “Cantidad invalida”

#Valida una fecha de manera mas exacta yyyy-mm-dd
if not re.match (’^(19|20)\d\d[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])$’ , req.field(’fecha’)):
raise ValidarError, “Fecha no valida”

#Valida un punto flotante negativo o positivo
if not re.match (’^[-+]?[0-9]*\.?[0-9]*$’ , req.field(’numero_punto_flotante’)):
raise ValidarError, “Numero no valido”

#Valida una notacion cientifica 1.5e8
if not re.match (’^[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$’ , req.field(’numero_punto_flotante’)):
raise ValidarError, “Numero no valido”

La siguiente checa que el correo sea valido… no trates de entenderla solo lo hace…

if not re.match( '^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[x01-x08x0bx0cx0e-x1fx21x23-x5bx5d-x7f]|\[x01-x09x0bx0cx0e-x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[x01-x08x0bx0cx0e-x1fx21-x5ax53-x7f]|\[x01-x09x0bx0cx0e-x7f])+)])$' , req.field('email')):
	raise ValidarError, "Correo electronico no valido"

#Validanto tarjetas de credito
Expresion regular para VISA: ^4[0-9]{12}(?:[0-9]{3})?$
Expresion regular para MasterCard: ^5[1-5][0-9]{14}$
Expresion regular para American Express: ^3[47][0-9]{13}$
Expresion regular para Diners Club: ^3(?:0[0-5]|[68][0-9])[0-9]{11}$
Expresion regular para Discover: ^6(?:011|5[0-9]{2})[0-9]{12}$
Expresion regular para JCB: ^(?:2131|1800|35\d{3})\d{11}$
# Si deseas checar el numero de tarjeta que sera valido en un solo campo… tu pueda unir las expresiones regulares mediante el simbolo pipe de unix

* 000..255: ^([01][0-9][0-9]|2[0-4][0-9]|25[0-5])$
* 0 or 000..255: ^([01]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])$
* 0 or 000..127: ^(0?[0-9]?[0-9]|1[0-1][0-9]|12[0-7])$
* 0..999: ^([0-9]|[1-9][0-9]|[1-9][0-9][0-9])$
* 000..999: ^[0-9]{3}$
* 0 or 000..999: ^[0-9]{1,3}$
* 1..999: ^([1-9]|[1-9][0-9]|[1-9][0-9][0-9])$
* 001..999: ^(00[1-9]|0[1-9][0-9]|[1-9][0-9][0-9])$
* 1 or 001..999: ^(0{0,2}[1-9]|0?[1-9][0-9]|[1-9][0-9][0-9])$
* 0 or 00..59: ^[0-5]?[0-9]$
* 0 or 000..366: ^(0?[0-9]?[0-9]|[1-2][0-9][0-9]|3[0-6][0-9]|36[0-6])$

Una direccion ip

'b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)b'

Verifica la correcta escritura de un path en windows : ‘\b[a-z]:\\[^/:*?”<>|\r\n]*’

Encriptando el password de un usuario con MD5

MD5 en java

Los passwords bastara con que los guardes en tu base de datos como una columna del tipo char de tamaƱo 40… no requieres mas..