Capitalizar texto Javascript

Javascript No Comments »

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

.NET, Javascript No Comments »

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

DatePicker, Javascript, jQuery 1 Comment »

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. });

Adicionando Validação em HTML dinâmico

.NET, jQuery, jQuery Validator, MVC 3 1 Comment »

Bem, como sofri bastante para achar a solução para isto, resolvi compartilhar com os visitantes do meu blog, se houver algum rsrsrs.

O script deste post serve para adicionar validação em objetos incluídos depois da página já ter sido carregada, desde que a mesma tenha sido feita em MVC 3 do ASP.NET utilizando o jQuery Validator.

Como funciona:
O MVC 3 cria os elementos HTML parecidos com este:

  1. <input type="text" value=""  name="Nome.Do.Meu.Campo" id="Nome_Do_Meu_Campo" data-val-required="O campo precisa ser preenchido" data-val-range-min="10" data-val-range-max="20" data-val-range="O valor do campo deve ser entre 10 e 20" data-val-number="O campo deve ser um número" data-val="true">

Sendo assim o .NET executa o jQuery Validator no form, que interpreta esses atributos no elemento HTML e cria as regras de validação no lado do cliente.

Porém, se você simplesmente adicionar um novo elemento na página (com os atributos de validação) depois de carregada, ele simplesmente não será validado, para isto você deverá executar o script abaixo após incluir o elemento na tela, assim o validador da página será reescrito e passará a validar os novos campos também.

Ex:

  1. // Adiciona o campo na tela
  2. $(‘<input type="text" value=""  name="Nome.Do.Meu.Campo" id="Nome_Do_Meu_Campo" data-val-required="O campo precisa ser preenchido" data-val-range-min="10" data-val-range-max="20" data-val-range="O valor do campo deve ser entre 10 e 20" data-val-number="O campo deve ser um número" data-val="true">’).appendTo("form");
  3.  
  4. // Formulário
  5. var $form = $("form");
  6.  
  7. // Tira o bind do validador atualmente existente.
  8. $form.unbind();
  9. $form.data("validator", null);
  10.  
  11. // Verifica mudanças no documento
  12. $.validator.unobtrusive.parse(document);
  13.  
  14. // Aplica a validação no form novamente
  15. $form.validate($form.data("unobtrusiveValidation").options);
  16.  

Pronto, seus novos campos serão validados.

OBS: Lembro que devem ser adicionados os script js do jQuery, jQuery Validator e jQuery Validator Unobtrusive.

Validar objeto vazio JS

Javascript No Comments »

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. }

TechEd Brasil 2010

Evento No Comments »

Validar CPF

Javascript, PHP No Comments »

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

Javascript No Comments »

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.

Falha de Segurança

Diversos 3 Comments »

Isso prova que o WordPress tem furos de segurança, meu site foi hackeado dia 07/01/2010 como podem ver na imagem abaixo.

Subtrair horas com JS

Javascript No Comments »

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"
WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Login