• 0

Вопрос по поводу регистрации.

Вопросы

Syndicate Stormquez
Новичок

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

Спойлер

case DLG_REGEMAIL:
  		{
		        if(!strlen(inputtext))
				{
					SPD(playerid, DLG_REGEMAIL, DSI, "{f9c520}Регистрация{c9cdcf} • Ввод Email",
						"{c9cdcf}Введите вашу настояющую электронную почту, чтобы продолжить регистрацию.\n\
						Если вы потеряете доступ к аккаунту, то его можно будет восстановить.",
					"Далее", "");
					return SCM(playerid, COLOR_RED, "[Ошибка] {c9cdcf}Введите ваш Email!");
	    		}
	    		new regex:rg_emailcheck = regex_new("^[a-zA-Z0-9._-]{1,43}@[a-zA-Z]{1,12}.[a-zA-Z]{1,8}$");
				if(regex_check(inputtext, rg_emailcheck))
	    		{
		    		strmid(player_info[playerid][Email], inputtext, 0, strlen(inputtext), 64);
		    		SPD(playerid, DLG_REGREF, DSI, "{f9c520}Регистрация{c9cdcf} • Ввод пригласившего",
						"{c9cdcf}Введите NickName пригласившего, еслм он есть.",
					"Далее", "Пропустить");
				}
				else
				{
				    SPD(playerid, DLG_REGEMAIL, DSI, "{f9c520}Регистрация{c9cdcf} • Ввод Email",
						"{c9cdcf}Введите вашу настояющую электронную почту, чтобы продолжить регистрацию.\n\
						Если вы потеряете доступ к аккаунту, то его можно будет восстановить.",
					"Далее", "");
					 return SCM(playerid, COLOR_RED, "[Îøèáêà] {c9cdcf}Укажите верный Email адрес!");
				}
				regex_delete(rg_emailcheck);
		}

 

 

 

Поделиться сообщением


Ссылка на сообщение

3 ответа на этот вопрос

  • 0
punkochel
Новичок

В целом все должно работать если ввести корректный Email-адрес. К примеру: pawn@bk.ru

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

^[a-zA-Z0-9._-]{1,43}@[a-zA-Z]{1,12}\\.[a-zA-Z]{1,8}$

 

Отредактировано пользователем punkochel

Поделиться сообщением


Ссылка на сообщение
  • 0
SCRIPTMAN
Великий Гуру
case DLG_REGEMAIL:
  		{
		        if(!strlen(inputtext))
				{
					SPD(playerid, DLG_REGEMAIL, DSI, "{f9c520}Регистрация{c9cdcf} • Ввод Email",
						"{c9cdcf}Введите вашу настояющую электронную почту, чтобы продолжить регистрацию.\n\
						Если вы потеряете доступ к аккаунту, то его можно будет восстановить.",
					"Далее", "");
					return SCM(playerid, COLOR_RED, "[Ошибка] {c9cdcf}Введите ваш Email!");
	    		}
	    		new regex:rg_emailcheck = regex_new("^[a-zA-Z0-9.-_]{1,43}@[a-zA-Z]{1,12}.[a-zA-Z]{1,8}$");
				if(regex_check(inputtext, rg_emailcheck))
	    		{
		    		strmid(player_info[playerid][Email], inputtext, 0, strlen(inputtext), 64);
		    		SPD(playerid, DLG_REGREF, DSI, "{f9c520}Регистрация{c9cdcf} • Ввод пригласившего",
						"{c9cdcf}Введите NickName пригласившего, если он есть.",
					"Далее", "Пропустить");
				}
				else
				{
				    SPD(playerid, DLG_REGEMAIL, DSI, "{f9c520}Регистрация{c9cdcf} • Ввод Email",
						"{c9cdcf}Введите вашу настояющую электронную почту, чтобы продолжить регистрацию.\n\
						Если вы потеряете доступ к аккаунту, то его можно будет восстановить.",
					"Далее", "");
					 return SCM(playerid, COLOR_RED, "[Îøèáêà] {c9cdcf}Укажите верный Email адрес!");
				}
				regex_delete(rg_emailcheck);
		}

Попробуй так

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Korochansky
      От Korochansky
      Настало время объявить о скором выпуске первого релиза среды разработки под названием Spawn.

      В настоящее время программа находится на заключительных этапах доработки кода и локализации интерфейса.
      Таким образом, в течение следующей недели будет выпущена быстрая и современная среда разработки, обладающая следующими возможностями (о которых я расскажу сейчас, а о других — позже):
       
      Полнофункциональный локальный Git: 
      Индексирование, фиксации, индикаторы состояния и мягкий/жесткий сброс до любой точки сохранения одним щелчком мыши. Разрабатывайте свой игровой сервер, не боясь его сломать.
      Новички могут рассматривать это как историю кодовой базы вашего сервера (что и есть на самом деле).
       
      Чистый UTF-8 (без BOM): 
      Полный отказ от устаревшей кодировки Windows-1251 (CP1251) для абсолютной стабильности и идеальной совместимости с Git.
      Реализация поддержки CP1251 привела бы к нестабильному поведению программы и ухудшила бы пользовательский опыт.
       
      История изменений строк: Редактор выделяет измененные строки в реальном времени в полях рядом с номерами строк. Это позволяет мгновенно видеть границы изменений, внесенных с момента открытия файла.
       
      Сопоставление и выделение фигурных скобок: мгновенное выделение открывающих и закрывающих фигурных скобок для быстрой навигации по структуре кода и защиты от ошибок компиляции.
       
      Интеграция с SAMPCTL: готовая к использованию автоматизация процессов. Сборка, запуск сервера и менеджер зависимостей (управление библиотеками и плагинами) работают напрямую из интерфейса редактора.
       
      И многое другое...
       
      И самое главное: проект будет с открытым исходным кодом под лицензией GPLv3!
      Следите за новостями о выпуске в репозитории: https://github.com/daniilkorochansky/spawn
    • KodBi
      От KodBi
      шапка
      по одиночке работают
      нужны оба
    • Vova_Zenko
      От Vova_Zenko
      Приветствую всех. Подскажите пожалуйста, как реализовать систему как на Грине или мотион(не реклама). 
       
      Готов оплатить, если найдется человек, который поможет реализовать.