Como o padrão funciona
| Parte | Significado |
|---|---|
[A-Z]{1,2} | Área do postcode: uma ou duas letras |
\d[A-Z\d]? | Distrito: um dígito, opcionalmente seguido de uma letra ou dígito |
? | Espaço opcional |
\d[A-Z]{2} | Código interno: um dígito e duas letras |
i flag | Não diferencia maiúsculas de minúsculas |
Exemplos de código
JavaScript
const re = /^[A-Z]{1,2}\d[A-Z\d]? ?\d[A-Z]{2}$/i;
re.test(value); // true or falsePython
import re
bool(re.fullmatch(r'[A-Z]{1,2}\d[A-Z\d]? ?\d[A-Z]{2}', value, re.I))PHP
preg_match('/^[A-Z]{1,2}\d[A-Z\d]? ?\d[A-Z]{2}$/i', $value) === 1;
Notas e limitações
Isso verifica o formato de um postcode, não se ele existe. Ao armazenar, normalize para letras maiúsculas com um único espaço antes dos últimos três caracteres.
Testador de Expressões Regulares
Digite um padrão e veja as correspondências serem destacadas em tempo real no seu texto de teste.