2014-01-27 2 views
2

Итак, я сейчас пишу шаблоны регулярных выражений для номеров водительских номеров для 50 государств Америки. Я был в состоянии относиться к ним с легкостью, пока не подошло к штату Вашингтон. Вот их лицензия состоит из (1-7 Alpha + Any combo. Из Alpha, Numeric или * для всего 12 символов). Вот регулярное выражение я придумал до сих пор:Соответствие шаблону регулярного выражения для общего количества и определенного порядка

new RegExp("^[a-z]{1,7}[a-z|0-9|*]{5,11}$"); 

Это соответствует все, кроме того, что оно также должно быть 12 символов. Что мне нужно добавить, чтобы также обеспечить, чтобы общее количество введенных символов = 12? Я могу сделать это с двумя отдельными шаблонами, но я был бы намного счастливее, если бы мог сделать это с одним, так как я сделал все остальные состояния только с одним.

+1

письма на мой ID капитализируются, это только кажется, совпадают в нижнем регистре. –

+0

Да, я строчу строку перед использованием регулярного выражения, немного меньше набрав, так как мне нужно было создать регулярное выражение для каждого состояния. –

+1

Вы также можете использовать модификатор 'i', чтобы сделать regexp нечувствительным к регистру. – Barmar

ответ

2

Вы можете использовать предпросмотр для этого:

new RegExp("^(?=.{12}$)([a-z]{1,7}[a-z|0-9|*]{5,11})$"); 
+0

Вот и все, спасибо! Я смотрел на взгляды, но не понимал этого, это имеет гораздо больший смысл. –

+0

Добро пожаловать, рад, что это сработало. – anubhava

Смежные вопросы