Динамическая интерпретация регулярных выражений - PullRequest
2 голосов
/ 15 февраля 2012

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

Спасибо завперед.

Ответы [ 2 ]

0 голосов
/ 15 февраля 2012

вот что я бы попробовал.

имеет функцию onKeyUp javascript, которая проверяет поле на наличие букв. если он содержит 2 буквы, отключите буквы с помощью javascript и измените функцию javascript, связанную с кнопкой ввода (давайте вызовем эту функцию CheckUKPostCode). В CheckUKPostCode вы должны проверить почтовый индекс Великобритании. Если пользователь начинает ввод чисел, функция onKeyUp отключит буквы и изменит функцию, связанную с кнопкой ввода, на USPostCode или что-то еще, что вам нужно, а затем эта функция будет проверять почтовый индекс США

0 голосов
/ 15 февраля 2012

Вы можете попытаться динамически создать элемент управления RegularExpressionValidator и добавить его в коллекцию элементов управления страницы на Page_Load()

var regexValidator = new RegularExpressionValidator
                {
                    ControlToValidate = "keyboardTexBox",
                    ValidationExpression =
                        @"^([A-PR-UWYZ0-9][A-HK-Y0-9][AEHMNPRTVXY0-9]?[ABEHMNPRVWXY0-9]? {1,2}[0-9][ABD-HJLN-UW-Z]{2}|GIR 0AA)$"
                };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...