Общая проверка входных данных с помощью регулярных выражений. Ошибка ввода при match.count == 0 - PullRequest
0 голосов
/ 08 февраля 2011

У меня есть несколько типов полей данных в форме ввода, например, веб-страница.

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

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

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

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

Есть ли у кого-нибудь комментарии или предложения относительно этой общей системы проверки, которую я пытаюсь создать?

спасибо

1 Ответ

1 голос
/ 08 февраля 2011

My current mock up has that when the match count is zero, that would signify an error and to display the message.

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

Псевдокод:

Array of regex's:  
[0] = /something[class] something else/
[1] = /more stiff that must be in each one/

result = 1;
loop through array
    if ((result = result && match_globally(regex[i])) == 0)
        break;
end loop

if (result == 0)
    notify of an input error at regex[i] validation
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...