Walidacja kodu pocztowego w Zjednoczonym Królestwie (GB) bez wyrażenia regularnego

Próbowałem kilku wyrażeń regularnych i wciąż niektóre prawidłowe kody pocztowe czasami zostają odrzucone.

Szukając w Internecie, Wikipedii i SO, mogłem znaleźć tylko rozwiązania sprawdzania poprawności wyrażeń regularnych.

Czy istnieje metoda sprawdzania poprawności, która nie używa wyrażenia regularnego? W każdym języku myślę, że łatwo byłoby go przenieść.

Wydaje mi się, że najłatwiej byłoby porównać z bazą danych kodu pocztowego, ale trzeba to było regularnie aktualizować i aktualizować z wiarygodnego źródła.

Edytuj: Aby pomóc przyszłym odwiedzającym i powstrzymać Cię od publikowania kolejnych wyrażeń regularnych, oto wyrażenie regularne, które przetestowałem (stan na 2013-04-24) do pracy dla wszystkich kodów pocztowych w Code Point (zobacz odpowiedź @Mikkel Løkke):

//PHP PCRE (it was on Wikipedia, it isn't there anymore; I might have modified it, don't remember).
$strPostalCode=preg_replace("/[\s]/", "", $strPostalCode);
$bValid=preg_match("/^(GIR 0AA)|(((A[BL]|B[ABDHLNRSTX]?|C[ABFHMORTVW]|D[ADEGHLNTY]|E[HNX]?|F[KY]|G[LUY]?|H[ADGPRSUX]|I[GMPV]|JE|K[ATWY]|L[ADELNSU]?|M[EKL]?|N[EGNPRW]?|O[LX]|P[AEHLOR]|R[GHM]|S[AEGKLMNOPRSTY]?|T[ADFNQRSW]|UB|W[ADFNRSV]|YO|ZE)[1-9]?[0-9]|((E|N|NW|SE|SW|W)1|EC[1-4]|WC[12])[A-HJKMNPR-Y]|(SW|W)([2-9]|[1-9][0-9])|EC[1-9][0-9])[0-9][ABD-HJLNP-UW-Z]{2})$/i", $strPostalCode);

questionAnswers(8)

yourAnswerToTheQuestion