Como o padrão funciona
| Parte | Significado |
|---|---|
^# | Começa com # |
[0-9a-fA-F]{3,4} | Forma curta: #rgb ou #rgba |
[0-9a-fA-F]{6} | Forma completa: #rrggbb |
[0-9a-fA-F]{8} | Forma completa com alfa: #rrggbbaa |
Exemplos de código
JavaScript
const re = /^#(?:[0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/;
re.test(value); // true or falsePython
import re
bool(re.fullmatch(r'#(?:[0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})', value))PHP
preg_match('/^#(?:[0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/', $value) === 1;
Observações e limitações
Todos os quatro tamanhos são CSS válido. Remova as alternativas {3,4} e {8} se o seu sistema aceitar apenas cores de seis dígitos. Converta entre formatos com o Conversor de Cores.
Testador de Expressões Regulares
Digite um padrão e veja as correspondências serem destacadas em tempo real no seu texto de teste.