Question

VadimS
Новичок

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

Что делать?

Спойлер

           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
checke7
Mapper

Строчку

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
stalkerSAMP
Новичок

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

Share this post


Link to post
  • 0
SCRIPTMAN
Великий Гуру

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

Share this post


Link to post
  • 0
DEST
Maintainer

@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

    • Badr
      By Badr
      дратуте , после обновы с бп , перестал работать лаунчер , типо заходит но на весь экран тот экран загрузки , и он не выключается , не работают диалоги
       у меня виндвос  7 писал в поддержку сказали больше не поддерживают на виндвос 7
      есть ли какой-то мод , или фикс чтобы я мог заходить ?
      на виндовс 10 не могу перейти , системные требования не подходят