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