Статьи

Использование регулярных выражений для проверки длины строки

Регулярные выражения — туз в рукаве многих самых талантливых программистов. Обладая глубоким пониманием того, как работают регулярные выражения, иногда можно обойти запутанную путаницу условной логики и рекурсивных вызовов функций с помощью простой однострочной строки, которая просто выполняет работу намного эффективнее.

Одним из удобных мест для использования регулярных выражений является проверка формы. В HTML5 можно применять такие атрибуты, как длина поля, но если кто-то попытается возиться с вашей безопасностью и публиковать значения без использования формы, вам нужно будет убедиться, что то, что вы намеревались, и то, что вы получаете, соответствуют друг другу.

Чтобы проверить длину строки, простой подход состоит в проверке регулярного выражения, которое начинается в самом начале с ^ и включает в себя каждый символ до конца, заканчивая $ . Вы указываете количество символов, которое хотите принять, помещая это значение в фигурные скобки прямо перед символом « $ » в конце.

Точная длина

Например, если бы я хотел, чтобы регулярное выражение состояло ровно из семи букв, я мог бы написать такое регулярное выражение:

/^[a-zA-Z]{7}$/

Это будет соответствовать строке из семи букв, такой как ‘abcdefg’, но не любой строке длиннее или короче семи букв, и, конечно, не любой строке, содержащей что-либо еще, кроме букв.

Диапазон длин

Для реальных пользователей было бы более разумно, если бы я также включил нижний предел на количество букв. Для этого просто добавьте нижнее значение и запятую перед верхним пределом внутри фигурных скобок:

 /^[a-zA-Z]{3,7}$/

Теперь любой набор букв от трех до семи букв будет соответствовать.

Минимальная длина

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

 /^[a-zA-Z]{3,}$/

Теперь строка из по крайней мере трех букв, но продолжающаяся до любой длины и не содержащая ничего, кроме букв, будет сопоставлена. В зависимости от вашего языка, это может быть сложное предложение для проверки без удобства регулярных выражений.

Узнайте, как использовать регулярные выражения в коде, и вы начнете открывать для себя широкий спектр полезных приложений. Поначалу они могут выглядеть загадочно, но если вы станете специалистом по регулярным выражениям, то в конечном итоге окупится