Попробуйте что-нибудь в этом роде:
pattern = new RegExp('^(?:(?:n|e|w)[1-9]|(?:ec|wc|[ns]w|se))','gi')
См. Онлайн демонстрацию
После вашего комментария я подумал, что вы, возможно, захотите точно сопоставить весь почтовый район Лондона согласно вашей ссылке в OP.
pattern = new RegExp('^(?:e(?:[1-9]|1[0-8]|20)|n(?:[1-9]|1\d|2[012])|w(?:[1-9]|1[0-4])|ec[1-4]|wc[12]|nw(?:[1-9]|1[01])|se(?:[1-9]|1\d|2[0-8])|sw(?:[1-9]|1\d|20)) [a-z]+(?: [a-z']+)*$','gi')
См. Онлайн демо
Возможно, вам придется удвоить обратную косую черту.