quinta-feira, 11 de novembro de 2010

Expressão Regular para usúarios do Twitter

O CÓDIGO:

@([A-Za-z0-9_-]+)


hasta!

sexta-feira, 1 de outubro de 2010

Expressão Regular para Todas as TAGS HTML

O CÓDIGO:



<[^>]*>

hasta!

quinta-feira, 2 de setembro de 2010

Expressão Regular para Emais

Incluindo a P**ra do formato permitido pelo "hotlixo"

Até então era uma expressão que funcionava bem, até usuarios comecarem a criar contas terminados com _,
deixando o email com o seguinte formato: infeliz_@hotlixo.com.

O pai google nao permite tal caractere como final em nenhuma conta, mas né, como nem todos são providos de um ótimo email....segue a expressão corrigida:


^[A-Za-z0-9]+(([\.\_\-]{1}[A-Za-z0-9]+)+)?\_?@[A-Za-z0-9]+(([\.\_\-]{1}[A-Za-z0-9]+)+)?\.[A-Za-z]{2,4}$

sexta-feira, 16 de julho de 2010

Pegar variaveis passadas por GET para o SWF

O CÓDIGO:

loaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress);
loaderInfo.addEventListener(Event.INIT, onComplete);
loaderInfo.addEventListener(Event.COMPLETE, onComplete);
function onProgress(e:ProgressEvent):void{}
function onComplete(e:Event):void{
loaderInfo.removeEventListener(ProgressEvent.PROGRESS, onProgress);
loaderInfo.removeEventListener(Event.COMPLETE, onComplete);
loaderInfo.removeEventListener(Event.INIT, onComplete);
var meuParametro = this.loaderInfo.parameters;
var SUA_VAR_NO_FLASH= meuParametro.SUA_VAR_POR_GET;
}

O USO:

Ao chamar seu swf no html, seja por swfobject, ou qualquer outra forma, colocar da seguinte forma:

exemplo.swf?SUA_VAR_POR_GET=VALOR


quinta-feira, 15 de julho de 2010

Máscara para telefone, cep, e outros campos númericos

O CÓDIGO:


mask = function(strMask, ev, objData) {
ev = ev || event;
var key = getKey(ev);
if (isNum(key, '%\'#$ .') == true) {
return true;
}
if (!(key>=37 && key<=40)) {
var valor = filter2(objData.value, '0123456789');
var tam = valor.length;
var tamMask = strMask.length;
var strOut = '';
var intCont = 0;
for (var a = 0; a<=tam; a++) {
if (strMask.substr(a, 1) == '#') {
strOut += valor.substr(intCont++, 1);
} else {
strOut += strMask.substr(a, 1);
}
}
objData.value = strOut;
return true;
}
};


O USO:

No html colocar o código abaixo para o input a ser mascarado.

onkeyup="return mask('###.###.###-##',event,this);" 


hasta!

quarta-feira, 7 de julho de 2010

Validação de CPF

O CÓDIGO:

validaCpf = function(cpf) {
var rrValida = new Array(00000000000,11111111111,22222222222,33333333333,44444444444,55555555555,66666666666,77777777777,88888888888,99999999999);
for(i=0;i<11;i++){
if(cpf == rrValida[i]){
return false;
}
}
    var i;
    var c = cpf.substr(0,9);
    var dv = cpf.substr(9,2);
    var d1 = 0;
    for (i = 0; i < 9; i++) d1 += c.charAt(i)*(10-i);
    if (d1 == 0) return false;
    d1 = 11 - (d1 % 11);
    if (d1 > 9) d1 = 0;
    if (dv.charAt(0) != d1) 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)  return false;
    return true;
}

O USO:


validaCpf (111111111) // retorno = false;

terça-feira, 29 de junho de 2010

Enviando email com anexo no PHP

O CÓDIGO:


function enviaEmailAnexo($emailFrom, $titulo, $mensagem, $emailTo, $cc = '', $bcc = '', $arquivo, $pasta) {
if (!$arquivo) return false;

$urlArquivo = $pasta.$arquivo;

$fp = fopen($urlArquivo,"rb");
$anexo = fread($fp,filesize($urlArquivo));          
$anexo = base64_encode($anexo);
fclose($fp);
$anexo = chunk_split($anexo);

$boundary = "XYZ-".date("dmYis")."-ZYX";

$quebra = (strpos($_ENV['SERVER_SOFTWARE'], "Microsoft") === false)?"\n":"\r\n";

$mens = "--$boundary".$quebra;
$mens .= "Content-Transfer-Encoding: 8bit".$quebra;
$mens .= "Content-Type: text/html; charset=\"ISO-8859-1\"".$quebra.$quebra; //plain
$mens .= $mensagem.$quebra;
$mens .= "--$boundary".$quebra;
$mens .= "Content-Type: ".mime_content_type2($arquivo).$quebra;
$mens .= "Content-Disposition: attachment; filename=\"".$arquivo."\"".$quebra;
$mens .= "Content-Transfer-Encoding: base64".$quebra.$quebra;
$mens .= $anexo.$quebra;
$mens .= "--$boundary--".$quebra;

$headers = "MIME-Version: 1.0".$quebra;
$headers .= "From: ".$emailFrom.$quebra;
$headers .= "Reply-To: ".$emailFrom.$quebra;
$headers .= "Return-Path: ".$emailFrom.$quebra;
$headers .= "Message-ID: <".time()." TheSystem@".$_SERVER['SERVER_NAME'].">".$quebra;
$headers .= "X-Mailer: PHP v".phpversion().$quebra;
$headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"".$quebra;
$headers .= "$boundary".$quebra;

if (!mail($emailTo, $titulo, $mens, $headers)) return false;
return true;
}


O USO:


enviaEmailAnexo($emailFrom, $titulo, $mensagem, $emailTo, $cc = '', $bcc = '', $arquivo, $pasta);


hasta!

segunda-feira, 28 de junho de 2010

Como remover registros duplicados no MySQL

Quem nunca teve este problema?
Pois é.

Vamos a solução:

O CÓDIGO:


ALTER IGNORE TABLE dups ADD UNIQUE INDEX dupidx (dup_fld1 [, dup_fldx]);
ALTER TABLE dups DROP INDEX dupidx;



A EXPLICAÇÃO:


É criado um índice temporário (dupidx) baseado nos campos desejados ( dup_fld1 [, dup_fldx] )  que exclui todos os registros duplicados da tabela (dups). Após a "limpeza", o índice é excluido.

hasta!

quarta-feira, 23 de junho de 2010

Formatação de Moeda JavaScript (R$)

O CÓDIGO:


function moeda(valor, casas, separdor_decimal, separador_milhar){

var valor_total = parseInt(valor * (Math.pow(10,casas)));
var inteiros =  parseInt(parseInt(valor * (Math.pow(10,casas))) / parseFloat(Math.pow(10,casas)));
var centavos = parseInt(parseInt(valor * (Math.pow(10,casas))) % parseFloat(Math.pow(10,casas)));


if(centavos%10 == 0 && centavos+"".length<2 ){
centavos = centavos+"0";
}else if(centavos<10){
centavos = "0"+centavos;
}

var milhares = parseInt(inteiros/1000);
inteiros = inteiros % 1000;

var retorno = "";

if(milhares>0){
retorno = milhares+""+separador_milhar+""+retorno
if(inteiros == 0){
inteiros = "000";
} else if(inteiros < 10){
inteiros = "00"+inteiros;
} else if(inteiros < 100){
inteiros = "0"+inteiros;
}
}
retorno += inteiros+""+separdor_decimal+""+centavos;


return retorno;

}





O USO:

moeda(1234.5,2,',','.');
// 1.234,50