Мне нужно воссоздать эту логику с помощью регулярного выражения.
если $ postcode.length> 0 и $ postcode.length <10 AND $ postcode первый символ - это буква и (второй или третий символ - это число), то это соответствует.
Я придумал следующее регулярное выражение:
/((^ [AZ] + [0-9]? [0-9]) {1,9} $)/я
Он должен соответствовать этим примерам:
Отредактировано: мое текущее регулярное выражение не соответствует ни одному из примеров в списке. Я не могу понять, почему. Любая помощь будет оценена по достоинству.
Здесь шаблон:
^[A-Z](?=.?\d)[A-Z0-9 ]{0,8}$
Демо.
Я использовал lookahead (?=.?\d)
чтобы проверить второй или третий символ, чтобы увидеть, является ли это цифрой.
<= 10
вместо < 10
.
С чередованием:
/^[a-z](?:[0-9].{0,7}|.[0-9].{0,6})$/i