Я искал регулярное выражение для почтового индекса в Великобритании в течение последнего дня или около того и наткнулся на эту тему. Я проделал свой путь в большинстве вышеперечисленных предложений, и никто из них не работал для меня, поэтому я придумал свое собственное регулярное выражение, которое, насколько я знаю, фиксирует все действующие почтовые индексы Великобритании по состоянию на 13 января (согласно последней литературе из Royal Mail).
Регулярное выражение и некоторый простой код для проверки почтового кода PHP размещены ниже. ПРИМЕЧАНИЕ. - Он допускает почтовые индексы нижнего или верхнего регистра и аномалию GIR 0AA, но для борьбы с более вероятным присутствием пространства в середине введенного почтового индекса он также использует простое str_replace для удаления пространства перед тестированием против регулярного выражения. Любые расхождения, помимо этого, и Королевская почта сами не упоминают их в своей литературе (см. http://www.royalmail.com/sites/default/files/docs/pdf/programmers_guide_edition_7_v5.pdf и начните читать со страницы 17)!
Примечание. В собственной литературе Royal Mail (ссылка выше) есть небольшая двусмысленность вокруг 3-й и 4-й позиций и исключения, если эти символы являются буквами. Я связался с Royal Mail напрямую, чтобы разобраться и своими словами «Письмо в 4-й позиции Внешнего кода с форматом AANA NAA не имеет исключений, а исключения третьей позиции относятся только к последней букве Внешнего кода с формат ANA NAA ".
";
} else {
echo "$postcode2check is not a valid postcode
";
}
?>
Я надеюсь, что это поможет кому-то еще, кто встречает эту тему, ищет решение.