Кавычки внутри ValidationExpression для RegularExpressionValidator - PullRequest
4 голосов
/ 24 октября 2009

Используя указанный элемент управления для проверки ASP.NET TextBox, мне любопытно, что является наиболее популярной практикой. В настоящее время используется:

ValidationExpression="^[\w\d\s.,"'-]+$"

Есть более короткий способ сделать это? Пробовал \, "" безрезультатно. Спасибо.

Ответы [ 2 ]

7 голосов
/ 24 октября 2009

Использование \" не будет работать, и вы также не сможете использовать "". То, что у вас правильно совпадает.

Тем не менее, чтобы сделать его короче, вы всегда можете использовать escape-эквивалент символа Юникод: \x22. Еще короче восьмеричное представление: \42. Хотя оба они короче, они не сильно помогают читабельности. Частые пользователи регулярных выражений поймут, что он представляет некоторый символ, но они могут не знать , какой символ, не ища его Кроме того, вы не сможете комментировать его, если не планируете оставлять комментарии разметки ASP.NET поблизости для объяснения регулярного выражения.

Тем не менее, мне не особо нравится, как выглядит ". Это выглядит странно и неуместно, заставляя \x22 или \42 выглядеть немного чище. Ваш звонок.

ValidationExpression="^[\w\d\s.,\x22'-]+$"
ValidationExpression="^[\w\d\s.,\42'-]+$"

В конечном итоге это позволяет сбрить 2-3 персонажа.

РЕДАКТИРОВАТЬ: добавил еще более короткий подход с использованием восьмеричного представления.

0 голосов
/ 24 октября 2009

Я думаю, что установка этого значения из кодовой области (где вы будете иметь больший контроль над форматированием / экранированием строк) будет вашим лучшим выбором.

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