Máscara para todos telefones de São Paulo, tanto fixo como celular.

Posted on by : admin Tags: ,

Todos os telefones que necessita ser do tipo celular, que pode ter o “9” na frente do número, você deixa com a classe “tel”, como por exemplo:

<input type=”text” value=”” class=”tel” />

Na parte do JavaScript, você deve ter o Jquery e o jquery.mask.js.

Abaixo segue o código :

$(function(){

      $('.tel').mask('(99) 9999-9999');
      $('.telCel').mask('(99) 99999-9999');

       $.fn.setCursorPosition = function(pos) {
        this.each(function(index, elem) {
          if (elem.setSelectionRange) {
            elem.setSelectionRange(pos, pos);
          } else if (elem.createTextRange) {
            var range = elem.createTextRange();
            range.collapse(true);
            range.moveEnd('character', pos);
            range.moveStart('character', pos);
            range.select();
          }
        });
        return this;
      };

       $(".tel").keyup(function(){
           var cel = $(this).val().substring(1, 3);
           var cel2 = $(this).val().substring(5, 6);
           var cel3 = $(this).val().substring(9, 10);
           if(cel == 11 && cel2 != '_' && cel2 == '9'  && cel3 == '-'){
               $(this).removeClass('tel');
               $(this).addClass('telCel');
               $(this).unmask();
               $(this).mask("(11) 99999-9999", [], "(11) _____-____");
               $(this).val("(11) _____-____");
               $(this).setCursorPosition(5);

           }else if(cel == 11 && cel2 != '_' && cel2 != '9'  && cel3 == '_'){
               $(this).removeClass('telCel');
               $(this).addClass('tel');
               $(this).unmask();
               $(this).mask("(99) 9999-9999", [], "(__) _____-____");
               $(this).val("(__) ____-____");
               $(this).setCursorPosition(1);
           }
       });
});