Question

Написал регистрацию, когда пароль проверяет даже если всё правильно написано выдаёт ошибку что пароль должен состоять из латинских букв и любых цифр.

Что делать?

Спойлер

           ShowRegistration(playerid);
                     return SCM(playerid, COLOR_RED, "[Ошибка] {FFFFFF}Введите пароль в поле ниже и нажмите \"Далее\"");
               }
               if(strlen(inputtext) < 8 || strlen(inputtext) > 32)
               {
                 ShowRegistration(playerid);
                 return SCM(playerid, COLOR_RED, "[Ошибка] {FFFFFF}Пароль не соответствует длинне");
               }
               new regex:rg_passcheck = regex_new("^[a-zA-Z0-9{1,}]$");
               if(regex_check(inputtext, rg_passcheck))
               {
                 strmid(player_info[playerid][PASSWORD], inputtext, 0, strlen(inputtext), 32);
                 SPD(playerid, DLG_REGMAIL, DIALOG_STYLE_INPUT, "{efff00}Регистрация{FFFFFF} • Ввод Email",
                     "{FFFFFF}Введите ваш настоящий Email\n\
                     Введите его в поле ниже и нажмите \"Далее\"\n\
                     Если вы потеряете досту к аккаунту, тогда вы сможете востановить его через Email",
                 "Далее", "");
               }
               else
               {
                  ShowRegistration(playerid);
                  return SCM(playerid, COLOR_RED, "[Ошибка] {FFFFFF}Пароль должен состоять из латинских букв и любых цифр");
               }
            }

 

 

Edited by odosenok

Заметка от Cawfee , создано

3.2. Код больше 10 строк необходимо брать в теги "Код" и "Спойлер". Как это сделать рассказано в разделе "FAQ".

Устное предупреждение.

Share this post


Link to post

4 answers to this question

  • 0

Строчку

new regex:rg_passcheck = regex_new("^[a-zA-Z0-9{1,}]$");

Замените на

new regex:rg_passcheck = regex_new("^[a-zA-Z0-9]{1,}$");

 

Share this post


Link to post
  • 0

А еще лучше regex для таких дел не использовать

Share this post


Link to post
  • 0

@stalkerSAMP почему же? Как по мне, так гораздо лучше использовать regex, указав допустимые значения, чем использовать циклы и весь этот мусор.

Share this post


Link to post
  • 0

@SCRIPTMAN ну как сказать, особенно, когда видишь вот такую страшилку: 

^(?:(?:31(\/|-|\.)(?:0?[13578]|1[02]))\1|(?:(?:29|30)(\/|-|\.)(?:0?[1,3-9]|1[0-2])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/|-|\.)0?2\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(\/|-|\.)(?:(?:0?[1-9])|(?:1[0-2]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$ 

А это всего лишь проверка на формат даты DD/MM/YYYY

Share this post


Link to post
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • Владислав2
      By Владислав2
      Здравствуйте, при компиляции появляется ошибка,

      Ошибка:
      error 017: undefined symbol "REP_KUZIA_TD"

      Строки:
       
          REP_KUZIA_TD[0] = TextDrawCreate(7.499990, 314.444396, "REP: 1");
          TextDrawLetterSize(REP_KUZIA_TD[0], 0.400000, 1.600000);
          TextDrawAlignment(REP_KUZIA_TD[0], 1);
          TextDrawColor(REP_KUZIA_TD[0], -1);
          TextDrawSetShadow(REP_KUZIA_TD[0], 0);
          TextDrawSetOutline(REP_KUZIA_TD[0], 1);
          TextDrawBackgroundColor(REP_KUZIA_TD[0], 255);
          TextDrawFont(REP_KUZIA_TD[0], 1);
          TextDrawSetProportional(REP_KUZIA_TD[0], 1);
          TextDrawSetShadow(REP_KUZIA_TD[0], 0);
          REP_KUZIA_TD[1] = TextDrawCreate(6.249957, 330.518493, "ASK: 0");
          TextDrawLetterSize(REP_KUZIA_TD[1], 0.400000, 1.600000);
          TextDrawAlignment(REP_KUZIA_TD[1], 1);
          TextDrawColor(REP_KUZIA_TD[1], -1);
          TextDrawSetShadow(REP_KUZIA_TD[1], 0);
          TextDrawSetOutline(REP_KUZIA_TD[1], 1);
          TextDrawBackgroundColor(REP_KUZIA_TD[1], 255);
          TextDrawFont(REP_KUZIA_TD[1], 1);
          TextDrawSetProportional(REP_KUZIA_TD[1], 1);
          TextDrawSetShadow(REP_KUZIA_TD[1], 0);
          return 1;
      }

      Буду рад если кто-то поможет