Генерация логина

alex8ebber

Client
Регистрация
04.12.2013
Сообщения
57
Благодарностей
5
Баллы
8
Всем привет !

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

botovod

Client
Регистрация
04.04.2014
Сообщения
170
Благодарностей
126
Баллы
43

alekwuy

Client
Регистрация
06.04.2013
Сообщения
1 631
Благодарностей
461
Баллы
83

silent

Client
Регистрация
05.04.2014
Сообщения
237
Благодарностей
84
Баллы
28

alekwuy

Client
Регистрация
06.04.2013
Сообщения
1 631
Благодарностей
461
Баллы
83

botovod

Client
Регистрация
04.04.2014
Сообщения
170
Благодарностей
126
Баллы
43
Это экшн генерации в переменную шаблона, а не в переменную профиля. Использовать можно для любых целей.
 

silent

Client
Регистрация
05.04.2014
Сообщения
237
Благодарностей
84
Баллы
28

alex8ebber

Client
Регистрация
04.12.2013
Сообщения
57
Благодарностей
5
Баллы
8

A76 bot

Client
Регистрация
26.12.2014
Сообщения
67
Благодарностей
5
Баллы
8
А каким экшеном потом этот рандомлогин написать в поле на сайте?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 458
Благодарностей
8 682
Баллы
113

A76 bot

Client
Регистрация
26.12.2014
Сообщения
67
Благодарностей
5
Баллы
8

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 458
Благодарностей
8 682
Баллы
113
  • Спасибо
Реакции: A76 bot

A76 bot

Client
Регистрация
26.12.2014
Сообщения
67
Благодарностей
5
Баллы
8
Да, так проще. Спасибо. Кстати, переназначить сразу и логин и пароль не получилось, какойта дебаг вылезает. Серго, джан, как так красива фотке заливаещь?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 458
Благодарностей
8 682
Баллы
113
Да, так проще. Спасибо. Кстати, переназначить сразу и логин и пароль не получилось, какойта дебаг вылезает. Серго, джан, как так красива фотке заливаещь?
оч. просто - копируем фотке в буфер обмена (ctrl-c) и вставляем в сообщение (ctrl-v)..
(фокус действует только в расширенном режиме)
 
  • Спасибо
Реакции: A76 bot

A76 bot

Client
Регистрация
26.12.2014
Сообщения
67
Благодарностей
5
Баллы
8
Спасибо!
 
  • Спасибо
Реакции: Nick

avtostopshik

Client
Регистрация
09.09.2016
Сообщения
756
Благодарностей
135
Баллы
43

vitorrio

Client
Регистрация
13.03.2016
Сообщения
76
Благодарностей
21
Баллы
8

alekwuy

Client
Регистрация
06.04.2013
Сообщения
1 631
Благодарностей
461
Баллы
83

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 707
Баллы
113
Собственно, никто так и не пояснил, а разница между
При генерации профиля в них разные сгенерированные логины) По идее хватит вполне одного поля профиля) Но это одна из тех штук, которую уже не удалить) Так как есть вариант кто кто-то из пользователей использует одну переменную профиля, а кто-то другую )
Поэтому просто выбирайте которая вам больше нравится)
 
  • Спасибо
Реакции: vitorrio

goldfish

Client
Регистрация
06.06.2011
Сообщения
209
Благодарностей
17
Баллы
18
через код я так понимаю нету метода чтобы сгенерировать
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 458
Благодарностей
8 682
Баллы
113
через код я так понимаю нету метода чтобы сгенерировать
Можно через код, но готовых снипетов не припоминаю, попробуйте поискать по форуму.
А чем не устраивает штатный генератор логинов, из кубика Random?
Там можно использовать формулы генерации, которые описаны в этом посте (из программы NickGen):
 

orka13

Client
Регистрация
07.05.2015
Сообщения
2 165
Благодарностей
2 165
Баллы
113
Писал для себя, но уже не помню особенности. Вижу там есть одинаковые методы генерации почти, можете их по своему уникализировать, это я видать упростил потом какие-то старые методы:
C#:
int i = new Random().Next(1,21);
string NickName = "";

switch (i)
{
    // генерируем как в кубике "Random > Логин"
    case 1:    
        NickName = project.Profile.RegenerateLogin("[Eng|[RndNum|3|5]]");
        break;
    case 2:
        NickName = project.Profile.RegenerateLogin ("[Lat|[RndNum|3|5]]");
        break;
    case 3:
        NickName = project.Profile.RegenerateLogin ("[Jap|[RndNum|3|5]]");
        break;
 
    // генерируем на основе двух переменных Imya Familiya (можете туда внести из профиля данные)
    case 4:
        NickName = project.Variables["Imya"].Value.ToLower() + project.Variables["Familiya"].Value.ToLower()[0];
        break;
    case 5:
        NickName = project.Variables["Imya"].Value.ToLower()[0] + project.Variables["Familiya"].Value.ToLower();
        break;
    case 6:
        NickName = project.Variables["Imya"].Value.ToLower() + project.Variables["Familiya"].Value.ToLower();
        break;
    case 7:
        NickName = project.Variables["Imya"].Value + project.Variables["Familiya"].Value.ToLower();
        break;
    case 8:
        NickName = project.Variables["Familiya"].Value.ToLower() + new Random().Next(10,9999).ToString();
        break;
    case 9:
        NickName = project.Variables["Imya"].Value + project.Variables["Familiya"].Value.ToLower();
        break;
    case 10:
        NickName = project.Variables["Imya"].Value + project.Variables["Familiya"].Value.ToLower();
        break;
     
    default:
    // если рандом сгенерил число больше 10, то берет случайную строку из списка List_NickNames (спарсил ники какого-то форума):
        int random_number = new Random().Next(project.Lists["List_NickNames"].Count);
        NickName = project.Lists["List_NickNames"][random_number];    
        break;
}

// переводим в транслит, если вдруг буквы не английские будут:
NickName = Macros.TextProcessing.Translit(NickName);

//Подчищаем лишние символы регулярками:
NickName = System.Text.RegularExpressions.Regex.Replace(NickName, @"[^A-Za-z\d\.]", "");
NickName = System.Text.RegularExpressions.Regex.Replace(NickName, @"([^A-Za-z\d])[^A-Za-z\d]+", "$1");
NickName = System.Text.RegularExpressions.Regex.Replace(NickName, @"^[^A-Za-z\d]+", "");
NickName = System.Text.RegularExpressions.Regex.Replace(NickName, @"[^A-Za-z\d]+$", "");
//приводим в нижний регистр если надо:
NickName = NickName.ToLower();
return NickName.Trim();
 
Последнее редактирование:

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)