terça-feira, 29 de setembro de 2009

Postgres Regular Expression

O problema hoje foi verificar se os valores do campo resposta eram valores numérios:


select resposta
from dados.itemquest
where pergunta = 'sagi_latitude'
and (resposta ~ '[-]{0,1}[0-9]{1,2}.[0-9]*')

sexta-feira, 4 de setembro de 2009

JavaScript e Expressões Regulares

cep
onkeyup=\'javascript:
this.value=this.value.replace(/\D/g,"");
this.value=this.value.replace(/^(\d{5})(\d)/,"$1-$2");\'
onkeypress=\'javascript:
this.value=this.value.replace(/\D/g,"");
this.value=this.value.replace(/^(\d{5})(\d)/,"$1-$2");\'

telefone
onKeyUp=\'javascript:
t=this.value.replace(/\D/g,"");
t=t.replace(/^(\d\d)(\d)/g,"($1) $2");
this.value=t.replace(/(\d{4})(\d)/,"$1-$2");\'

CPF
onkeyup='javascript:this.value=this.value.replace(/\D/g,"");
this.value=this.value.replace(/(\d{3})(\d)/,"$1.$2");
this.value=this.value.replace(/(\d{3})(\d)/,"$1.$2");
this.value=this.value.replace(/(\d{3})(\d{1,2})$/,"$1-$2");'

function validacpf(campo){
var i;
//s = document.getElementById('login').p_cpf.value;
s = campo;
var c = s.substr(0,9);
var dv = s.substr(9,2);
var d1 = 0;
for (i = 0; i < 9; i++){
d1 += c.charAt(i)*(10-i);
}
if (d1 == 0){
alert("CPF Invalido")
return false;
}
d1 = 11 - (d1 % 11);
if (d1 > 9) d1 = 0;
if (dv.charAt(0) != d1){
alert("CPF Invalido")
return false;
}
d1 *= 2;
for (i = 0; i < 9; i++){
d1 += c.charAt(i)*(11-i);
}
d1 = 11 - (d1 % 11);
if (d1 > 9) d1 = 0;
if (dv.charAt(1) != d1){
alert("CPF Invalido")
return false;
}
return true;
}