Aplicar máscara em uma coluna de tabela HTML?

Galera, tenho CPF sem pontos (só números) no banco e preciso passar para uma tabela HTML com máscara, alguém sabe como posso fazer isso? Estava tentando aplicar na coluna do CPF, mas não consegui.

1 curtida

Consegui.

cpfEditado = results.rows[i]['CPF'].replace(/(\d)(\d{8})$/,"$1.$2").replace(/(\d)(\d{5})$/,"$1.$2").replace(/(\d)(\d{2})$/,"$1-$2");`

Ou melhor organizado:

cpfEditado = results.rows[i]['CPF'].replace(/(\d)(\d{8})$/,"$1.$2");

// Conta 8 dígitos da direita para a esquerda e coloca um ponto “.”`

cpfEditado = cpfEditado.replace(/(\d)(\d{5})$/,"$1.$2");

// Conta 5 dígitos da direita para a esquerda e coloca um ponto “.”`

cpfEditado = cpfEditado.replace(/(\d)(\d{2})$/,"$1-$2");

// Conta 2 dígitos da direita para a esquerda e coloca um hífen"-"`

Coloquei esse código na função js que forma a tabela e ficou assim:

tabela += cpfEditado;

HTML:

<table id="table1">
  <tr>
    <td>CPF</td>
    <td>12345678900</td>
  </tr>
  <tr>
    <td>CPF</td>
    <td>12345678900</td>
  </tr>
</table>

JAVASCRIPT

function formatarCPF()
{
  var table = document.getElementById("table1");
  var td = table.getElementsByTagName("td");
  for(var i = 0; i < td.length; i++)
  {
    console.log(td[i].innerText);
    if (td[i].innerText != "CPF")
    {
        td[i].textContent = 
        td[i].textContent.replace(/(\d{3})(\d{3})(\d{3})(\d{2})/g,"\$1.\$2.\$3\-\$4");
    }
  }
}

formatarCPF();

DEMO

1 curtida