Regex de chave PIX aleatória (UUID)
Regex da chave PIX aleatória, que tem o formato de UUID: 32 caracteres hexadecimais em grupos 8-4-4-4-12 separados por hífen. Confere o formato, não a titularidade.
O padrão
[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}
Flags: i. Sem âncoras: para validar um campo inteiro use ^(?:padrão)$.
Teste na hora
| Linha | Resultado |
|---|
Tudo roda no seu navegador; nada do que você digita é enviado.
Exemplos
Casam
123e4567-e89b-42d3-a456-4266141740009F8B7C6D-5E4F-4A3B-8C2D-1E0F9A8B7C6D0a1b2c3d-4e5f-4a6b-9c7d-8e9f0a1b2c3dc0ffee00-1234-4abc-8def-0123456789ab
Não casam
123e4567e89b42d3a456426614174000123e4567-e89b-42d3-a456-42661417400123g4567-e89b-42d3-a456-426614174000123e4567-e89b-42d3-a456-4266141740000{123e4567-e89b-42d3-a456-426614174000}
Como funciona, por partes
[0-9a-f]{8}: Primeiro grupo: oito caracteres hexadecimais, ou seja, dígitos de 0 a 9 e letras de a a f.-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}: Três grupos de quatro caracteres hexadecimais, cada um precedido de hífen.-[0-9a-f]{12}: Último grupo, com doze caracteres, também precedido de hífen. Somando, são 32 caracteres e quatro hífens, 36 no total.Flag i: A flag i faz o conjunto a-f aceitar também A-F. Os UUIDs podem ser escritos em maiúsculas ou minúsculas.Versão não verificada: O padrão aceita qualquer UUID, não só os da versão 4, usada em chaves aleatórias. Para exigir a versão 4, o primeiro caractere do terceiro grupo seria 4; este regex não impõe essa restrição.
Armadilhas
- Casar com o formato não prova que a chave está cadastrada no Banco Central. Para saber se uma chave existe e para quem aponta, só consultando o PIX, com o pagamento em curso.
- Chaves de CPF, CNPJ, telefone e e-mail têm outros formatos e precisam de outros padrões. Uma chave de 11 dígitos pode ser um CPF ou um telefone, e só o contexto desfaz a dúvida.
- Alguns sistemas guardam o UUID sem hífens. Se for o seu caso, normalize antes (adicionando os hífens) ou use uma variante de 32 caracteres hexadecimais corridos.
- Evite exibir ou registrar chaves aleatórias em logs públicos sem necessidade: elas identificam o destino de pagamentos de alguém.
Código pronto
JavaScript
const re = new RegExp("^(?:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$", "i");
console.log(re.test(texto.trim()));
Python
import re
re_chave_pix_aleatoria = re.compile(r"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}", re.IGNORECASE)
print(bool(re_chave_pix_aleatoria.fullmatch(texto.strip())))
C#
using System.Text.RegularExpressions;
var re = new Regex(@"^(?:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})\z", RegexOptions.IgnoreCase);
bool ok = re.IsMatch(texto.Trim());
Perguntas frequentes
Toda chave aleatória é um UUID?
A chave aleatória do PIX é gerada no formato de UUID, o que permite este padrão. As outras chaves, como CPF, CNPJ, e-mail e telefone, seguem formatos diferentes.
Posso gerar um UUID para testes?
Pode, com a ferramenta de UUID do Me Ajuda Flow, que gera valores aleatórios no navegador. Lembre que um UUID gerado por você não é uma chave PIX real de ninguém.
Precisa das chaves em minúsculas?
Ao guardar, padronize em minúsculas para evitar duplicidade. Na validação, a flag i aceita as duas formas.
Como evitar erro ao copiar a chave?
Chaves aleatórias são longas e fáceis de copiar pela metade. Teste o texto colado com o padrão antes de seguir: se faltar um caractere ou sobrar um espaço, a falha aparece na hora e a pessoa corrige antes de tentar o pagamento.