Alguns regex (expressões regulares) úteis

Tinha isso guardado num txt bem antigo, mas me são de grande utilidade:

#Email:
^([0-9,a-z,A-Z]+)([.,_,-]([0-9,a-z,A-Z]+))*[@]([0-9,a-z,A-Z]+)([.,_,-]([0-9,a-z,A-Z]+))*[.]([a-z,A-Z]){2,3}([0-9,a-z,A-Z])?$

#CEP:
^[0-9]{5}-{1}[0-9]{3}$

#Data (mm/dd/yyyy):
^((0?[1-9]|[12]d)/(0?[1-9]|1[0-2])|30/(0?[13-9]|1[0-2])|31/(0?[13578]|1[02]))/(19|20)?d{2}$

#Data (dd/mm/yyyy):
^(0[1-9]|[12][0-9]|3[01])\/(0[1-9]|1[012])\/[12][0-9]{3}$
#Hora:
^(?:[01]d|2[0-3]):[0-5]d:[0-5]d$

#Decimal:
^[+-]?((d+|d{1,3}(,d{3})+)(.d*)?|.d+)$

#float ou int
^([0-9])+(\.[0-9]{1,2})?$

#CPF:
^[0-9]{3}.[0-9]{3}.[0-9]{3}-[0-9]{2}$

Selecionar abas dinamicamente usando jquery-ui tabs

Dois meios para selecionar uma aba no jquery-ui-tabs automaticamente ao carregar a página.

1> Obtendo a url via GET e selecionando a aba dinamicamente:

$(document).ready(function(){
	    var param = $(document).getUrlParam('aba');
	    $('#tabs-ui').tabs('select', param);
	});

Explicação: a variável param recebe o valor ‘aba’ vindo do get e seleciona aba com o mesmo nome. Ex: ?index.php?aba=calendario –> seleciona a tab com o id “calendario”
–> #tabs-ui deve ser substituido pelo ID da div container do jqueiryui-tabs

2> Selecionar tab automaticamente ao carregar a paina:

$(document).ready(function(){
	    $('#tabs-ui').tabs('select', 'tabs-adicionar');
	});

Explicação: Foca na div ‘tabs-adicionar’ dentro do container ‘tabs-ui’ ao carregar o documento.

PrtScr – Um excelente programa gratuito para captura de telas

Esta semana eu precisava montar um treinamento para a equipe de suporte aqui onde eu trabalho, o que envolvia muitas capturas de tela.

Inicialmente eu estava tirando printscreen e editando no gimp, mas isso me gerava muito trabalho.

Então apos um pouco de pesquisa no oráculo google achei esse programa que é freeware e cumpre bem o papel dele.

Algumas features do programa:

– Acessivel via Ctrl+PrintScreen ou tecla customizada
– Anotações em tempo real
– Suporta multiplos monitores
– Captura de area personalizada, retangulo, toda a tela e janela ativa
– Exporta em bmp, jpg ou png

O vídeo abaixo mostra algumas funções dele:

E finalmente, o link para download:
http://www.fiastarta.com/PrtScr/Download.html

Bloqueio de Bad User Agent via htaccess ou httpd.conf

Notei diversos atauqes a servidores usando os identificadores “Mozilla/3.0 (compatible; Indy Library)” , “HTTP Client“, “libwww” e “havij” então decidí bloqueá-los permanetntemente, no meu caso useu a configuração diretamente no httpd.conf do servidor, mas também pode ser realizado via .htaccess

 

SetEnvIfNoCase User-Agent ^Mozilla.*Indy badUA
SetEnvIfNoCase User-Agent "HTTP Client" badUA
SetEnvIfNoCase User-Agent ^.*Havij badUA
SetEnvIfNoCase User-Agent "libwww-perl" badUA
Order Allow,Deny
Allow from all
Deny from env=badUA

Algumas informações que achei na net:

Indy Library – Normalmente essas requisições vem de suites de ferramentas da borland para delfi/c++
HTTP Client – Requisições genericas
libwww – Vem da lib Perl::LWP (Library for WorldWideWeb in Perl)
Havij – Ferramenta para testes de segurança em websites, usado normalmente para ataques via sql injection (em breve um post sobre a ferramenta)

———————————————-
Posted Listening: “Doctor Doctor – UFO”