Deixar somente as letras de uma string PHP

Esta função retorna somente as letras de uma string informada.

  1. function soLetra($str) {
  2.     return preg_replace("/[^A-Za-z]/", "", $str);
  3. }

  1. function soLetraComAcento($str) {
  2.     return preg_replace("/[^A-Za-zá-üÁ-Ü]/", "", $str);
  3. }

Como usar:

  1. $filtro = soLetra("téste321");

$filtro -> “tste”

  1. $filtro = soLetraComAcento("téste321");

$filtro -> “téste”

“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

Otimização seletor jQuery

Achei interessante essa otimização:

Em vez de utilizar o seletor $('#foo a'); use $('#foo').find('a');.

Imagine que você está querendo encontrar cada aluno em um colégio, então quer encontrar os alunos dentro da sala de aula #123.
Não se sente eficiente, não é?

Imagine agora que você está querendo a encontrar a sala nº 123, em seguida, quer encontrar todos os estudantes.

A seleção por ID é super rápida, e se você usar um ID para encontrar um elemento em primeiro lugar, em seguida, a próxima parte da pesquisa só tem que acontecer em suas filhas, em vez de toda a página!

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

Adicionando Validação em HTML dinâmico

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

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

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

Next Page →