Validación del código postal del Reino Unido (GB) sin expresiones regulares

He intentado varias expresiones regulares y todavía algunos códigos postales válidos a veces son rechazados.

Buscando en Internet, Wikipedia y SO, solo pude encontrar soluciones de validación de expresiones regulares.

¿Hay un método de validación que no utiliza expresiones regulares? En cualquier idioma, supongo que sería fácil de portar.

Supongo que lo más fácil sería compararlo con una base de datos de códigos postales, pero esto debería mantenerse y actualizarse periódicamente desde una fuente confiable.

Edición: para ayudar a futuros visitantes y evitar que publique más expresiones regulares, aquí hay una expresión regular que he probado (desde el 2013-04-24) para que funcione con todos los códigos postales en Code Point (Ver la respuesta de @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);

Respuestas a la pregunta(8)

Su respuesta a la pregunta