Regex brasileiros · Biblioteca de padrões

Regex de CPF

Regex para validar o formato de CPF com ou sem pontuação (000.000.000-00 ou 11 dígitos). Confere só a forma; os dígitos verificadores exigem cálculo.

O padrão

\d{3}\.\d{3}\.\d{3}-\d{2}|\d{11}

Flags: nenhuma. Sem âncoras: para validar um campo inteiro use ^(?:padrão)$.

Só o formato. Este regex confere a aparência do texto. Ele não prova que o dado existe nem que os dígitos verificadores estão certos. Para isso use Validador de CPF e CNPJ.

Teste na hora

Tudo roda no seu navegador; nada do que você digita é enviado.

Exemplos

Casam

  • 111.444.777-35
  • 11144477735
  • 529.982.247-25
  • 39053344705

Não casam

  • 123.456.789-0
  • 123.456.78910
  • 1234567890
  • abc.def.ghi-jk
  • 111.444.777-355
Os números de exemplo são fictícios: foram gerados por cálculo dos dígitos verificadores, sem consulta a nenhum cadastro, e servem só para testar o formato.

Como funciona, por partes

Armadilhas

Código pronto

JavaScript

const re = new RegExp("^(?:\\d{3}\\.\\d{3}\\.\\d{3}-\\d{2}|\\d{11})$");
console.log(re.test(texto.trim()));

Python

import re

re_cpf = re.compile(r"[0-9]{3}\.[0-9]{3}\.[0-9]{3}-[0-9]{2}|[0-9]{11}")
print(bool(re_cpf.fullmatch(texto.strip())))

C#

using System.Text.RegularExpressions;

var re = new Regex(@"^(?:[0-9]{3}\.[0-9]{3}\.[0-9]{3}-[0-9]{2}|[0-9]{11})\z");
bool ok = re.IsMatch(texto.Trim());

Perguntas frequentes

Esse regex valida CPF?

Valida apenas a aparência: quantidade de dígitos e pontuação. A validação de verdade calcula os dois dígitos finais a partir dos nove primeiros e compara. Faça as duas etapas: regex para recusar lixo rápido, cálculo para recusar número inventado.

Devo aceitar o CPF só com números ou só formatado?

Aceite os dois na entrada, porque as pessoas digitam de qualquer jeito, e guarde sempre só os onze dígitos. Formate apenas na hora de mostrar. Assim buscas e comparações não dependem da pontuação.

Os exemplos desta página são CPFs de pessoas reais?

Não. Foram gerados pelo cálculo dos dígitos verificadores a partir de sequências escolhidas, sem consulta a qualquer cadastro. Têm dígitos corretos para servir de teste, mas não foram tirados de ninguém. Não use em cadastros reais.

Ferramentas

← Ver todos os padrões