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();
1 curtida