Проверка почтового индекса Javascript в Великобритании [дубликат]

Возможный дубликат:

Почтовый индекс Великобритании (полное)

У меня есть следующий код для проверки почтовых индексов в JavaScript:

function valid_postcode(postcode) {
    postcode = postcode.replace(/\s/g, "");
    var regex = /[A-Z]{1,2}[0-9]{1,2} ?[0-9][A-Z]{2}/i;
    return regex.test(postcode);
}

тесты:

CF47 0HW - Passes - Correct
CF47 OHW - Passes - Incorrect

Я провел тонну исследований, но могуКажется, я не нашел окончательного регулярного выражения для этого общего требования валидации. Может ли кто-нибудь указать мне правильное направление, пожалуйста?