Регулярное выражение для голландского почтового индекса/почтового индекса

Я пытаюсь создать регулярное выражение в javascript для проверки голландского zipcode.

Zipcode должен содержать 4 номера, затем необязательно пробел, а затем 2 (нечувствительные к регистру) буквы

Допустимые значения:

1001aa  
1001Aa  
1001 AA

Теперь у меня есть это, но оно не работает:

var rege = /^([0-9]{4}[ ]+[a-zA-Z]{2})$/;

Ответ 1

Отредактировано для того, чтобы не обрабатывать начальные требования к голландским почтовым кодам и исключать совпадения для SS, SA и SD. Это должно сделать все для вас.

Заключительное регулярное выражение:

var rege = /^[1-9][0-9]{3} ?(?!sa|sd|ss)[a-z]{2}$/i;

Fiddle unit test: http://jsfiddle.net/hgU3u/

Здесь разбивка:

  • ^ соответствует началу строки
  • [1-9][0-9]{3} соответствует одной ненулевой цифре и три цифры 0-9
  • ? соответствует 0 или 1 пробелам (вы можете использовать * для соответствия 0 или более пробелов)
  • (?!sa|sd|ss) - это контрольный тест, чтобы проверить, что остаток не является "sa", "sd" или "ss".
  • [a-z]{2} соответствует 2 символам a-z
  • $ соответствует концу строки
  • i в конце находится модификатор без учета регистра

Ответ 2

Вот мое решение. я в конце делает его нечувствительным к регистру:

var rege = /^\d{4} ?[a-z]{2}$/i;

Ответ 3

Если у вас возникли проблемы с использованием этого шаблона для проверки подлинности бутстрапа, я предлагаю вам изменить его на:

    ^[1-9][0-9]{3} ?(?!sa|sd|ss|SA|SD|SS)[A-Za-z]{2}$

Таким образом, он все еще не учитывает регистр и принимает его валидатор.