You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Olá @MauricioSarmento, procure sempre utilizar as expressões regulares como na função escrita pelo @davidalves1, ela será mais performatica, deixando o php fazer o trabalho sujo por vc.
@FlavioSuarez, vc não precisa colocar o if strlen... se não quiser ser bem explícito, o str_pad fará por vc.
Outro ponto é, se o CNPJ com 13 e o CPF com 10 no final precisa adicionar um 0 antes para formatar corretamente, eu adicionaria esse preenchimento fora da função mantendo a função estável.
Hey @FlavioSuarez, obrigado pela contribuição. Como optou por separar as funções de CPF e CNPJ, não vejo a necessidade de fazer a validação, pois você já sabe quantos caracteres deve ter o CNPJ ou CPF. Assim, é só adicionar os 0 a esquerda antes de fazer a formatação, mais ou menos assim:
Inclusive, @FlavioSuarez, se ainda estiver no projeto que percebeu essa circunstância, se possível, verifique ou se o campo esteja como númerio no banco de dados ou se em algum lugar o PHP antes da inserção/alteração ele esteja convertendo em numerico.
Caso seja numerico, ele remove o 0 da esquerda e acaba fazendo você necessitar adicionar depois.
Eu já peguei CNPJ válido com 13 dígitos e CPF válido com 10... Por isso separei a lógica e completei com zeros à esquerda...