Fork me on GitHub
Você esta em:Home » Destaque » Formatação do 9 digito do celular no cadastro do Magento com Jquery

Formatação do 9 digito do celular no cadastro do Magento com Jquery

Aprenda a formatar com o Jquery(Javascript) o campo tipo telefone para SP e Brasil com a nova regra inicial do numero 9 em seu Magento.

Bem dê início posso afirmar que a Anatel fez uma zona! Pois para nosso desespero parece que não são só os 7|8|9. Os 5|6 também entram nessa regra, sendo que tem 5 que não entra, e ainda tem o 77 e 78 que não entram na nova regra. Então fico aberto a sugestões na modificação da Expreg.

Na verdade acho que eles inventaram algo que a matemática não pode explicar! Abaixo vcs iram ver!

=/

Como todos já sabem(Quem não souber é porque tá chegando agora!) A partir do dia 29/07/2012, todos os telefones celulares que estão na região com DDD 11 (que abrange São Paulo e mais 63 municípios) terão nove dígitos. Os aparelhos móveis ganharão o nove na frente do número atual. Exemplo: um telefone com o número 9876-5432 passa a ser 9-9876-5432.

Bem vamos começar a brincar! Abaixo segue tabela dos números que sofreram a atualização do 9 para o DDD 11:

Atenção: Telefones com início 5, em São Paulo, podem ser fixo ou celular! Hahahahahahaha que legal!

http://tecnoblog.net/60223/anatel-libera-celulares-iniciados-pelo-digito-5-em-sao-paulo/

OPERADORA PREFIXOS (SOMENTE DDD 11)
Unicel (9)7900 a (9)7949
Claro (9)6168 a (9)6181, (9)6300 a (9)6339, (9)6570 a (9)6650, (9)6914 a (9)6931, (9)7052 a (9)7086 e (9)7968 a (9)7970
(9)76, (9)88, (9)89, (9)91, (9)92, (9)93 e (9)94
Nextel 5399
77 e 78
Oi (9)5252 a (9)5267, (9)5400 a (9)5419, (9)5700 a (9)5768, (9)6011 a (9)6056, (9)6086 a (9)6167, (9)6500 a (9)6569, (9)6651 a (9)6699, (9)6800 a (9)6826, (9)6867 a (9)6899, (9)6932 a (9)6999, (9)7971 a (9)7999
(9)62, (9)67, (9)80
Tim (9)5116 a (9)5170, (9)5200 a (9)5211, (9)5214 a (9)5251, (9)5268 a (9)5299, (9)5329 a (9)5398, (9)5420 a (9)5471, (9)5475 a (9)5499, (9)5787 a (9)5799, (9)5942 a (9)5969, (9)5980 a (9)5969, (9)6061 a (9)6085, (9)6340 a (9)6369, (9)6420 a (9)6469, (9)6827 a (9)6839, (9)7011 a (9)7051, (9)7950 a (9)7967
(9)81, (9)82, (9)83, (9)84, (9)85, (9)86 e (9)87
Vivo (9)5472 a (9)5474, (9)5769 a (9)5786, (9)6057 a (9)6060, (9)6182 a (9)6199, (9)6370 a (9)6419, (9)6470 a (9)6499, (9)6840 a (9)6866, (9)6900 a (9)6913, (9)7087 a (9)7099
(9)71, (9)72, (9)73, (9)74, (9)75, (9)95, (9)96, (9)97, (9)98 e (9)99

Fiz uma expressão regular que verifica o número digitado com o keydown do Javascript, ou seja:

  • Se o DDD for 11
  • Se o número começar por 9
  • E se a bosta do número depois do 9 continuar com 5[0-9] ou 6[0-9] ou 7[01234569] ou 8[0-9] ou 9[0-9]
Se o número respeitar esse critério acima, o input será com o maxlength de 14 dígitos, quer saber porque 14 então some a quantidade de caracteres a seguir:  (11)95000-0000
E se o número não respeitar esse critério ele será um numero de telefone normal! =) Ou seja, com 13 dígitos, some: (21)9203-8986

Segue script na íntegra:

$('input[name*="[telephone]"]').keydown( function(e){
if (e.keyCode >= 9){
length = this.value.length;
if (length == 0)
this.value += "(";

if (length == 3)
this.value += ")";
/*
Testa para ver se o ddd começa com 11 e coloca maxlength para 14
exemplo: (11)95345-1234 que antes era assim (11)5345-1234
*/
if(/(\(11\)9(5[0-9]|6[0-9]|7[01234569]|8[0-9]|9[0-9])).+/i.test(this.value)){
$(this).attr('maxlength','14');
if (length == 9)
this.value += "-";
} else {
$(this).attr('maxlength','13');
if (length == 8)
this.value += "-";
}
}
});

Bem vamos ser prático, pois tudo esta muito confuso!

Segue link para acessar o exemplo acima no jsfiddle

http://jsfiddle.net/deivisonarthur/HU9ys/1/

Brinde segue também a formatação do campo de CPF/CNPJ no Magento.

Obs: Foi utilizado o mesmo campo para ambos números. Ou seja, o VaxTax.

http://jsfiddle.net/deivisonarthur/RVyN8/18/

Brinde! Segue atualização do source para restringir somente telefones ou celulares nos campos com a validação e formatação dos mesmos:

http://jsfiddle.net/42SUY/38/

http://jsfiddle.net/deivisonarthur/mX4Gg/4/

Valeu pessoal! Espero ter ajudado!

Sobre o Autor

Designer, Web Developer & Linux Administrator

Meu nome é Deivison Arthur, tenho 29 anos, sou Administrador Linux, Analista de Sistema, Webdesigner e Pesquisador. há mais de dez anos. Nasci no Rio de Janeiro, atualmente trabalho como Gerente de Tecnologia e E-commerce at Grupo FFernandes e Freelancer nas horas vagas. Desenvolvimento em Joomla, Wordpress, Drupal, Magento e outros GPLs...

Quantidade de Artigos : 114

Comentários (10)

Enviar Comentário

© 2012 Powered By Wordpress, Deivison Arthur

Ir para cima