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

alex8ebber

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

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

botovod

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

alekwuy

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

silent

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

alekwuy

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

botovod

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

silent

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

alex8ebber

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

A76 bot

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

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
22 501
Благодарностей
10 047
Баллы
113

A76 bot

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

Sergodjan

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

A76 bot

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

Sergodjan

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

A76 bot

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

avtostopshik

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

vitorrio

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

alekwuy

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

rostonix

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

goldfish

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

Sergodjan

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

orka13

Client
Регистрация
07.05.2015
Сообщения
2 190
Благодарностей
2 208
Баллы
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();
 
Последнее редактирование:

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