“Imprimir” objeto javascript na tela

Esta função serve para mostrar um objeto JS na tela, muitos pensarão que para isso pode ser usado o “console.log”, porém além do “console.log” não retornar uma string ele não mostra em um tablet ou celular.
Segue função:

  1. function dump(arr, level) {
  2.     var dumped_text = "";
  3.     if (!level) level = 0;
  4.  
  5.     var level_padding = "";
  6.     for (var j = 0; j < level + 1; j++) level_padding += "    ";
  7.     if (typeof (arr) == "object") {
  8.         for (var item in arr) {
  9.             var value = arr[item];
  10.             if (typeof (value) == "object") {
  11.                 dumped_text += level_padding + "’" + item + "’ …\n";
  12.                 dumped_text += dump(value, level + 1);
  13.             } else {
  14.                 dumped_text += level_padding + "’" + item + "’ => \"" + value + "\"\n";
  15.             }
  16.         }
  17.     } else {
  18.         dumped_text = "===>" + arr + "<===(" + typeof (arr) + ")";
  19.     }
  20.     return dumped_text;
  21. }

Fonte

Capitalizar texto Javascript

Esta função serve para deixar as primeiras letras das palavras em maiúsculo:

  1. function capitalize(txt) {
  2.         if (txt == null || txt.length == 0) return "";
  3.         txt = txt.toLowerCase();
  4.         return txt.replace(/(^|\s)([a-z])/g, function (m, p1, p2) { return p1 + p2.toUpperCase(); });
  5. };
  6.  

Asp.net Json DateTime para formato Brasileiro

Esta função serve para converter datas serializadas com JSON (“\/Date(1249335477787)\/”) para o formato brasileiro de data.

  1. function dotNetDateTimeToString(data) {
  2.         data = data.replace(‘/Date(‘, ).replace(‘)/’, );
  3.         var subtraiGMT = data.indexOf("-") > -1;
  4.         var somaGMT = data.indexOf("+") > -1;
  5.  
  6.         if (subtraiGMT || somaGMT) {
  7.                 var lenValido = data.length5;
  8.                 data = data.substr(0, lenValido);
  9.         }
  10.  
  11.         var d = new Date();
  12.         d.setTime(data);
  13.  
  14.         var hora = pad(d.getHours(), 2, "0") + ":" + pad(d.getMinutes(), 2, "0");
  15.  
  16.         var format = (d.getMonth() + 1) + ‘/’ + d.getFullYear();
  17.  
  18.         if (format.length < 7)
  19.                 format = ‘0’ + format;
  20.  
  21.         format = d.getDate() + ‘/’ + format;
  22.  
  23.         if (format.length < 10)
  24.                 format = ‘0’ + format;
  25.  
  26.         return format + " " + hora;
  27. }
  28.  

DatePicker em HTML dinâmico

Se você tiver um campo DatePicker na tela e estiver clonando ele, eis a solução para o DatePicker funcionar neste novo campo:

  1. $(document).ready(function() {
  2.     $("input.hasDatepicker").live("click", function() {
  3.         $(this)
  4.             .removeClass("hasDatepicker")
  5.             .datepicker({showOn:"focus"})
  6.             .focus();
  7.     });
  8. });

Validar objeto vazio JS

Após um tempo sem postar nada segue uma função muito interessante para verificar se um objeto javascript é vazio ou não:

  1. function isObjectEmpty(obj) {
  2.     for (var x in obj) { return false; }
  3.     return true;
  4. }

Validar CPF

Com esta função você pode validar CPFs, há duas versões, uma para PHP e outra em JS. Bom proveito.

Versão PHP:

  1. function validaCPF($cpf) {
  2.     $cpf = soNumero($cpf);
  3.     $soma = 0;
  4.  
  5.     for ($i = 0; $i < 9; $i++)  {
  6.         $soma += (10$i) * $cpf[$i];
  7.         }
  8.     $digitoVerificador = 11($soma % 11);
  9.  
  10.     if(($soma % 11) < 2) {
  11.         $digitoVerificador = 0;
  12.         }
  13.     if($cpf[9] != $digitoVerificador) {
  14.         return false;
  15.         }
  16.     $soma = 0;
  17.  
  18.     for ($i = 0; $i < 9; $i++)  {
  19.         $soma += (11$i) * $cpf[$i];
  20.         }
  21.     $soma += 2 * $cpf[9];
  22.     $digitoVerificador = 11($soma % 11);
  23.    
  24.     if(($soma % 11) < 2) {
  25.         $digitoVerificador = 0;
  26.         }
  27.     if($cpf[10] != $digitoVerificador) {
  28.         return false;
  29.         }
  30.     return true;
  31. }

Versão Javascript:

  1. function validaCPF(cpf) {
  2.         cpf = soNumero(cpf);
  3.         soma = 0;
  4.        
  5.         for (i = 0; i < 9; i++) {
  6.                 soma += (10 – i) * (eval(cpf.charAt(i)));
  7.         }
  8.         digitoVerificador = 11(soma % 11);
  9.        
  10.         if((soma % 11) < 2) {
  11.                 digitoVerificador = 0;
  12.         }
  13.         if(eval(cpf.charAt(9)) != digitoVerificador) {
  14.                 return false;
  15.         }
  16.         soma = 0;
  17.        
  18.         for (i = 0; i < 9; i++) {
  19.                 soma += (11 – i) * (eval(cpf.charAt(i)));
  20.         }
  21.         soma += 2 * (eval(cpf.charAt(9)));
  22.         digitoVerificador = 11(soma % 11);
  23.        
  24.         if((soma % 11) < 2) {
  25.                 digitoVerificador = 0;
  26.         }
  27.         if(eval(cpf.charAt(10)) != digito_verificador) {
  28.                 return false;
  29.         }
  30.         return true;
  31. }

Globalizando o “loading” do jQuery/Ajax

Segue abaixo uma maneira de globalizar o loading do ajax nos sites, bem simples e fácil de fazer:

  1. $(document).ready(function(){
  2.     $(document).ajaxStart(function() {
  3.         // Aqui deve-se chamar a função que mostra o <em>loading</em> na tela.
  4.     }).ajaxComplete(function() {
  5.         // Aqui deve-se chamar a função que remove o <em>loading</em> da tela.
  6.     });
  7. });

Muito simples de utilizar não? Isso ajuda a não ter que fazer o tratamento em cada chamada Ajax.

Subtrair horas com JS

A função abaixo tem o objetivo de subtrair duas horas passadas para ela.

  1. function subtraiHora(hrA, hrB) {
  2.         if(hrA.length != 5 || hrB.length != 5) return "00:00";
  3.        
  4.         temp = 0;
  5.         nova_h = 0;
  6.         novo_m = 0;
  7.  
  8.         hora1 = hrA.substr(0, 2) * 1;
  9.         hora2 = hrB.substr(0, 2) * 1;
  10.         minu1 = hrA.substr(3, 2) * 1;
  11.         minu2 = hrB.substr(3, 2) * 1;
  12.        
  13.         temp = minu1 – minu2;
  14.         while(temp < 0) {
  15.                 nova_h++;
  16.                 temp = temp + 60;
  17.         }
  18.         novo_m = temp.toString().length == 2 ? temp : ("0" + temp);
  19.  
  20.         temp = hora1 – hora2 – nova_h;
  21.         while(temp < 0) {
  22.                 temp = temp + 24;
  23.         }
  24.         nova_h = temp.toString().length == 2 ? temp : ("0" + temp);
  25.  
  26.         return nova_h + ‘:’ + novo_m;
  27. }

Como usar:

  1. novaHora = subtraiHora("12:00", "02:27");
  2. novaHora -> "09:33"

Criar janelas dinâmicas com JS

Olá, abaixo segue um script para criação de janelas dinamicamente em JS, o exemplo que faço é muito simples, mas esta função pode ser utilizada em casos diversos.

  1. function criaJanela(nome, conteudo, parametros) {
  2.         nova = open("", nome, parametros);
  3.         nova.document.write(conteudo);
  4.         nova.focus();
  5. }

Como usar:

  1. <html>
  2. <head>
  3. <title>Abre Janela Dinâmica</title>
  4. </head>
  5. <body>
  6. <input type="button" value="Testa Janela" onclick="criaJanela(‘minhaJanela’, ‘Este é o <b>conteúdo</b> da janela.’, ‘width=400, height=250’)" />
  7. </body>
  8. </html>

Claro, não esqueça de adicionar a função no código acima para funcionar ^^.

Somar horas com JS

A função abaixo tem o objetivo de somar duas horas passadas para ela, com a opção de zerar a hora após as 23 horas ou seguir a diante.

  1. function somaHora(hrA, hrB, zerarHora) {
  2.         if(hrA.length != 5 || hrB.length != 5) return "00:00";
  3.        
  4.         temp = 0;
  5.         nova_h = 0;
  6.         novo_m = 0;
  7.  
  8.         hora1 = hrA.substr(0, 2) * 1;
  9.         hora2 = hrB.substr(0, 2) * 1;
  10.         minu1 = hrA.substr(3, 2) * 1;
  11.         minu2 = hrB.substr(3, 2) * 1;
  12.        
  13.         temp = minu1 + minu2;
  14.         while(temp > 59) {
  15.                 nova_h++;
  16.                 temp = temp – 60;
  17.         }
  18.         novo_m = temp.toString().length == 2 ? temp : ("0" + temp);
  19.  
  20.         temp = hora1 + hora2 + nova_h;
  21.         while(temp > 23 && zerarHora) {
  22.                 temp = temp – 24;
  23.         }
  24.         nova_h = temp.toString().length == 2 ? temp : ("0" + temp);
  25.  
  26.         return nova_h + ‘:’ + novo_m;
  27. }

Como usar:

  1. novaHora = somaHora("12:00", "02:27", false);
  2. novaHora -> "14:27"
  3.  
  4. novaHora = somaHora("22:50", "05:10", true);
  5. novaHora -> "04:00"
  6.  
  7. novaHora = somaHora("22:50", "05:10", false);
  8. novaHora -> "28:00"

Next Page →