Добавьте правильный интервал к почтовому индексу (Великобритания)

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

function isValidPostcode(p) { 
var postcodeRegEx = /[A-Z]{1,2}[0-9]{1,2} ?[0-9][A-Z]{2}/i; 
return postcodeRegEx.test(p); }

function formatPostcode(p) { 
if (isValidPostcode(p)) { 
    var postcodeRegEx = /(^[A-Z]{1,2}[0-9]{1,2})([0-9][A-Z]{2}$)/i; 
    return p.replace(postcodeRegEx,"$1 $2"); 
} else {
    return p;
}}

Он проверяет почтовый индекс и добавляет пробел. Он работает для почтовых индексов с SA143TG и добавляет пробел, чтобы сделать SA14 3TQ, но с SA13TQ это не работает.

Любые идеи?


person Community    schedule 14.08.2017    source источник
comment
Что значит не работает? Как должен выглядеть вывод для SA13TQ? Должен ли это быть SA13 TQ?   -  person JFS31    schedule 14.08.2017
comment
Похоже, работает.   -  person Wiktor Stribiżew    schedule 14.08.2017
comment
Должно получиться как SA1 3TQ   -  person    schedule 14.08.2017


Ответы (1)


Вместо этой строки

var postcodeRegEx = /(^[A-Z]{1,2}[0-9]{1,2})([0-9][A-Z]{2}$)/i; 

попробуй это

var postcodeRegEx = /([A-Z]{1,2}[0-9]{1,2})([0-9][A-Z]{2})/i;
person Prabhakaran Ravichandran    schedule 14.08.2017