@Paradox рад что кто то пользуется )
[FakePersonGenerator] - модуль для создания случайно несуществующей личности
-
Название: FakePersonGenerator
Версия: 1.6
Данные: fakepersongenerator.zip
Исходник: fakepersongenerator.xml
Согласие на добавление модуля в BAS: Да
Описание: Модуль предназначен для создания случайно несуществующей личности. Вы можете создать личность целиком, результат будет представлен JSON строкой со следующими данными: имя, фамилия, возраст, дата рождения, национальность, человекоподобный пароль и никнейм. Также модуль позволяет создавать перечисленные выше данные по частям. Например, создать отдельно пароль или фамилию. Поддерживает список имён и фамилий из 22 страны. Модуль хорошо задокументирован на двух языках [RU, ENG].
Скриншоты:


История версий:
-
@FastSpace Спасибо за модуль! Давно хотел что - то подобное, постоянно приходится брать информацию из сторонних сайтов и бывает что из за них скрипт стопориться. Еще бы адрес и тогда будет вообще шик. На счет тех настроек что уже есть хотел бы сказать пару слов.
В настройке для юзернейма есть подсказка что не все сайты хорошо воспринимают спецсимволы, но почему - то нет возможности сгенерировать его вообще без спецсимвола.
В пароле наоборот, нет возможности добавить спецсимвол. Сейчас довольно часто их требуют и было бы отлично добавить поле с ними (опциональное) и так же как с датой указывать куда добавить, в начало, конец, середину или рандом. -
@spacerange said in [FakePersonGenerator] - модуль для создания случайно несуществующей личности:
@FastSpace Спасибо за модуль! Давно хотел что - то подобное, постоянно приходится брать информацию из сторонних сайтов и бывает что из за них скрипт стопориться. Еще бы адрес и тогда будет вообще шик. На счет тех настроек что уже есть хотел бы сказать пару слов.
В настройке для юзернейма есть подсказка что не все сайты хорошо воспринимают спецсимволы, но почему - то нет возможности сгенерировать его вообще без спецсимвола.
Не все сайты целиком поддерживает это все символы вместе взятые, например тире поддерживают почти все известные мне формы регистрации, но я добавлю эту логику в следующей версии модуля.
В пароле наоборот, нет возможности добавить спецсимвол. Сейчас довольно часто их требуют и было бы отлично добавить поле с ними (опциональное) и так же как с датой указывать куда добавить, в начало, конец, середину или рандом.
Тоже сделаю, но тогда пароль будет не читабельный, только если опционально.
-
@FastSpace, простая натуральная генерация случайной даты рождения,
age- нужный возраст,randomDate- итоговая датаvar age = rand(18, 45); var dayMilSec = 24 * 60 * 60 * 1000; var tempDate = new Date(); var nowYear = tempDate.getFullYear(); var maxYear = nowYear - age; var minYear = maxYear - 1; var minMilSec = tempDate.setFullYear(minYear) + dayMilSec; var maxMilSec = tempDate.setFullYear(maxYear) - dayMilSec; var randomDate = new Date(rand(minMilSec, maxMilSec));Не нужно парится с количеством дней в месяце:

И с тем был ли уже день рожденья в этом году:

-
Вариант с возможным днем рождения в текущий день и соблюдением возраста,
minAge- минимальный возраст,maxAge- максимальный возраст,age- итоговый возраст,birthDate- итоговая дата рожденияvar minAge = 18; var maxAge = 45; var dayMilSec = 24 * 60 * 60 * 1000; var tempDate = new Date(); var nowYear = tempDate.getFullYear(); var minYear = nowYear - maxAge - 1; var maxYear = nowYear - minAge; var minMilSec = tempDate.setFullYear(minYear) + dayMilSec; var maxMilSec = tempDate.setFullYear(maxYear) - dayMilSec; var birthDate = new Date(rand(minMilSec, maxMilSec)); var age = nowYear - birthDate.getFullYear(); var monthDiff = tempDate.getMonth() - birthDate.getMonth(); if(monthDiff < 0 || (monthDiff === 0 && tempDate.getDate() < birthDate.getDate())){ age--; }; -
@FastSpace, тут дело не только в наличии лишних действий, например текущая реализация не позволяет генерировать день рожденья 29 февраля, а такое возможно, так же на максимальный возраст шанс меньше чем на другие, и есть шанс получить возраст меньше указанного


-
@GhostZ said in [FakePersonGenerator] - модуль для создания случайно несуществующей личности:
@FastSpace, например текущая реализация не позволяет генерировать день рожденья 29 февраля
Невелика потеря
@FastSpace, так же на максимальный возраст шанс меньше чем на другие.
Затачивал в основном на диапазон, поправлю думаю тож
@FastSpace, есть шанс получить возраст меньше указанного
Это я поправлю, но так тоже мало кто страдает фигней. Сгенерить только 18, я такое фиксил в нике и пароле, на возраст пофигу.
-
Подъехал патч 1.1:
- Теперь возраст и дата рождения генерируется по совету @GhostZ. Исправлен баг когда минимальное и максимальное значение могли дать меньше на год возраст. Пришлось доделать его решение, чтоб выдало как задумано в модуле.
- Теперь можно убирать спец. символы из логина. Внимание! Не рекомендую этого делать, лучше оставить хотя бы 1 такой символ. Логика генерации никнейма хорошо заточена и под такие символы. Например никнеймы TheCrazyMen_92.
- Новая фича: Передать собственные (кастомные) никнеймы в модуль и на основе их создать никнейм. Взять их можно например из слитой базы данных почт или спарсить даже с этого форума))) Респект за идею человеку из телеграма, я всё не очень хотел грузить миллионы ников в массив. Также это решает проблемы, когда например было сгенерировано имя и фамилия "Виктор Наумов", а никнейм nikita92. У меня нет желания перебирать массив и искать таких "Никит". Поэтому можете сделать теперь это сами в кастомном никнейме.
- Новая страна для имён и фамилий - Япония.
Обновил исходник и модуль.
-
Great work. Was long waiting for such a module. Thank you very much @FastSpace
-
Версия 1.2
- Username с датой рождения уменьшил шанс генерации.
- Правки текста.
- Создал тему для буржуев.
Обновил модуль и исходник. Потом руки дойдут выдерну отсюда https://github.com/faker-js/faker остальные данные.
-
Было бы вообще чудесно, если б в BAS и модули автоматом обновляло, чтоб не перекачивать каждый раз.
-
Спасибо за модуль. Было бы не плохо если добавили возможность назначать тип поля expression