На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела Visual C++ / MFC / WTL (далее Раздела)
1) На Раздел распространяются все Правила Форума.
2) Перед тем, как создать новый топик, убедитесь, что Вы читали Правила создания тем в Разделе.
3) Вопросы, не связанные с программированием (настройки MS Visual Studio, книги, библиотеки и т.д.),
обсуждаются в разделе C/C++: Прочее
4) Вопросы разработки .NET (Windows Form, C++/CLI и т.п.) приложений на Visual C++/C# обсуждаются в разделе .NET.
5) Нарушение Правил может повлечь наказание со стороны модераторов.

Полезные ссылки:
user posted image FAQ Раздела user posted image Обновления для FAQ Раздела user posted image Поиск по Разделу user posted image MSDN Library Online
Модераторы: ElcnU
  
> Валидность полей ввода , Visual C++
    Всем привет!
    Есть форма для ввода данных про юзера, в форме есть поле для ввода "мыла", как проверить что пользователь ввел что-то похожое на aaaa@com.ua а не что-то другое типа "Вася молодец" :)?
      ну поищи собаку и точкой с промежутком в английских символах и цифрах
        а что-то типа функций для это нет?
          типа а на фига?
            мне невериться что все пишут проверку на такое, думаю уже давно все всунули в фунцию и просто используют !
              Системной фун-я такой я не встречал :whistle: , а вот в разделе Borland C++ кажется была юзерскаю - посмотри.

              Добавлено
              Я даже нашел тебе эту тему, чтобы ты не утруждался :D

              Добавлено
              Хотя там, конечно, привязано к Builer, но не глядя туда скажу тебе - там нечего проверять - сначала на анг. символы, потом на собаку, потом на точку (с учетом того, что он после собаки), ну а все остальные тонкости по желанию. И поверь мне - все это вызов не более, чем трех фун-ий и проверка нескольких условий.
                Вы че - про регекспы никогда не слышали?
                  слышал, вот только незнаю как их писать, может научишь ?
                    не... не научу, т.к. сам не владею хорошо. есть мануалы полезные по регекспам, почитай.
                    вот тебе либа собраная PCRE под винду:
                    PCRE
                    ExpandedWrap disabled
                      bool PcreMatchPattern(CComBSTR &pattern, CComBSTR &str)
                      {
                          USES_CONVERSION;
                          const int OVECCOUNT=3;
                          pcre *re;
                          const char *error;
                          int erroffset;
                          int ovector[OVECCOUNT];
                          int rc = 0;
                          re = pcre_compile(OLE2A(pattern),PCRE_CASELESS|PCRE_DOTALL,&error,&erroffset,NULL);
                          if (re != NULL)
                              rc = pcre_exec(re,  NULL,OLE2A(str),str.Length() , 0,0, ovector, OVECCOUNT);
                          return (rc>0);
                      }

                    а это функа которая маттчит регекспный паттерн, юзать типа такого:
                    ExpandedWrap disabled
                      PcreMatchPattern(L".*fuck.*", "bla-bla-blafuck bla"); // выдаст ture - поиск подстроки в строке, на любой позиции.
                      /*
                      /^[0-9a-zA-z\-\.]+@[0-9a-zA-z\-\.]+\.[0-9a-zA-z\-\.]{2,10}$/
                      а вот такой паттерн у меня использовался для проверки валидности мыла. Мож не очень и правельный, но х.з. - меня устраивал.
                      */
                      Респект, я сделал но не так через библиотеку Boost, если кому интересно покажу как, давольно все просто!
                      1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                      0 пользователей:


                      Рейтинг@Mail.ru
                      [ Script execution time: 0,0249 ]   [ 15 queries used ]   [ Generated: 19.05.24, 07:22 GMT ]