crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> QRegExp, QRegExpvalidator, регулярные выражения..
Andrewshkovskii
  опции профиля:
сообщение 5.4.2009, 18:40
Сообщение #1


Активный участник
***

Группа: Участник
Сообщений: 351
Регистрация: 27.12.2008
Пользователь №: 467

Спасибо сказали: 18 раз(а)




Репутация:   1  


Пишу вот форму регистрации, есть следующий код :

функция проверки

QString RegisterForm::validateAll()
{
    QString passwordval   ("/^(?=.*\d)(?=.*([a-z]|[A-Z]))([\x20-\x7E]){8,12}$/");
    QString mailval       ("/^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/");
    QString usernameval   ("^[A-Za-z0-9]$");
    QString lastAndFirstNameval  ("/[а-яА-Я\s\-]/");
    int pos =0;
    regexp->setPattern(lastAndFirstNameval);
    if((validator->validate(FName,pos))==0) || (validator->validate(FName,pos)) == 1 );
     return "Invalid first name";
   if((validator->validate(LName,pos))==0 )|| (validator->validate(LName,pos)) == 1 );
     return "Invalid last name";
    regexp->setPattern(usernameval);
    if((validator->validate(Nickname,pos))==QValidator::Invalid) || (validator->validate(Nickname,pos)) == 1 );
     return "Invalid username";
    regexp->setPattern(mailval);
    if((validator->validate(EMail,pos))==0) || (validator->validate(EMail,pos)) == 1 );
     return "Invalid e-mail adress";
    regexp->setPattern(passwordval);
    if((validator->validate(Password,pos))==0) || (validator->validate(Password,pos)) == 1 );
     return "Invalid password";
    if(Password!=ConfirmPassword)
         return "Confirm password != password";
                 else return "all validated";
}


Эта функция вызывается в слоте, по нажатию кнопочки OK, все данные(QString'ги FName и т.д) получаю из QLineEdit'ов.

Валидатор создается так :
 regexp = new QRegExp;
validator = new QRegExpValidator(*regexp,0);


Проблема - при любом раскладе будет возвращать Invalid first name и далее(last name, username..) почему?Рег-экспы не правильно написал?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Litkevich Yuriy
  опции профиля:
сообщение 5.4.2009, 19:13
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


ты регулярку сначала проверь (%QTDIR%\examples\tools\regexp)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- Andrewshkovskii   QRegExp, QRegExpvalidator   5.4.2009, 18:40
- - Litkevich Yuriy   Цитата(Andrewshkovskii @ 5.4.2009, 22:40)...   5.4.2009, 18:52
- - Andrewshkovskii   Ну я брал примеры регэкспов, проще говоря готовые,...   5.4.2009, 19:00
- - Litkevich Yuriy   Цитата(Andrewshkovskii @ 5.4.2009, 23:00)...   5.4.2009, 19:06
- - Andrewshkovskii   Черт, да все равно возвращает "Invalid first ...   5.4.2009, 19:11
- - Litkevich Yuriy   ты регулярку сначала проверь (%QTDIR%\example...   5.4.2009, 19:13
- - Andrewshkovskii   Эм..этот пример..Он показывает, валидна ли моя стр...   5.4.2009, 19:25
- - molchanoviv   проверяй правильность своих регекспов с помощью эт...   5.4.2009, 20:11
- - Litkevich Yuriy   Цитата(Andrewshkovskii @ 5.4.2009, 23:25)...   5.4.2009, 21:28
- - Andrewshkovskii   Спасибо за программу, внушительна Только..всеравно...   5.4.2009, 23:11
- - molchanoviv   Цитата(Litkevich Yuriy @ 5.4.2009, 22:28)...   6.4.2009, 7:48
- - kwisp   Andrewshkovskii, тебя подобные строки при компиля...   6.4.2009, 7:53
- - Litkevich Yuriy   Цитата(molchanoviv @ 6.4.2009, 11:48) а г...   6.4.2009, 7:59
- - Andrewshkovskii   new - уже привычка работать с объектами через указ...   6.4.2009, 10:36
- - kwisp   Цитата(Andrewshkovskii @ 6.4.2009, 11:36)...   6.4.2009, 11:56


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.11.2024, 2:57