Регулярное выражение для ограничения длины строки - PullRequest
7 голосов
/ 10 июня 2009

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

Мое выражение было .{0,400}

Мой вопрос: есть ли способ ограничить длину символов до 400 без учета пробелов?

Я хочу иметь возможность принимать пробелы в строке, но не считать их по длине. Возможно ли это?

Ответы [ 2 ]

11 голосов
/ 10 июня 2009

Я в значительной степени согласен с Грегом, но вот вам регулярное выражение:

^\s*([^\s]\s*){0,400}$

@ Boopid: Если вы действительно имели в виду только пробел, замените \ s пробелом в регулярном выражении.

7 голосов
/ 10 июня 2009

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...