Форум программистов, компьютерный форум, киберфорум
Наши страницы
JavaScript
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
koza4ok
628 / 437 / 67
Регистрация: 19.09.2012
Сообщений: 1,633
1

Генератор символов

04.02.2013, 14:43. Просмотров 901. Ответов 3
Метки нет (Все метки)

Есть функция:
Javascript
1
2
3
4
5
6
7
Math.guid = function(){
return 'хххххххх-хххх-4ххх-уххх-хххххххххххх'.replace(/[xy]/g,
function(c) {
var r = Math.random()*16|0, v = с == 'x' ? r : (r&0x3|0x8);
return v.toString(16);
}).toUpperCase();
};
Что такое r&0x3?По логике это должен быть символ буквы.То у меня книга в плохом качестве ....
Суть скрипта:вместо x-генерируется цифра ,а вместо у-должна быть буква.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.02.2013, 14:43
Ответы с готовыми решениями:

Генератор
Возможно ли такой генератор сделать:...

Генератор ссылки
Сайт переведен на три языка: рус, укр, англ. Соответственно 3 дериктории: ...

Генератор чисел
Всем доброго времени суток! Необходимо сделать генератор случайных чисел,...

Генератор сказок
Создать генератор сказок. Ввод данных в текстовые поля формы. Сгенерированную ...

Генератор визиток из браузера
В чем проблема: в компании есть много шаблонов визиток для разных клиентов....

3
Vovan-VE
13161 / 6546 / 1038
Регистрация: 10.01.2008
Сообщений: 15,070
04.02.2013, 15:28 2
Цитата Сообщение от koza4ok Посмотреть сообщение
Что такое r&0x3
Битовые операции.
& - И
| - ИЛИ
^ - XOR
~ - инверсия
1
koza4ok
628 / 437 / 67
Регистрация: 19.09.2012
Сообщений: 1,633
04.02.2013, 15:36  [ТС] 3
Спасибо.Прочитаю.
0
forgergg
135 / 135 / 29
Регистрация: 18.10.2011
Сообщений: 306
06.02.2013, 14:42 4
Javascript
1
var r = Math.random()*16|0,
Рандом возвращает дробное число от 0 до 1.
Что бы получить число в диапазоне от min до max используется следующая формула:
Javascript
1
Math.random() * (max - min) + min
Тем самым получаем случайное число от нуля до 16.
Последняя операция битового ИЛИ с нулем отбрасывает дробную часть числа, не изменяя его целую часть.
Javascript
1
v = с == 'x' ? r : (r&0x3|0x8)
Если символ не равен X, то операцией
Код
r & 0x3 | 0x8
число подгоняют в пределах от 8 до 11.
Код
0x3 = 0b11
0x8 = 0b1000
0x5 = 0b101
0b101 & 0b11 = 0b01
0b01 | 0b1000 = 0b1001
0b1001 = 0x9
Далее число переводится в шестнадцатеричное представление в виде строки:
Javascript
1
v.toString(16);
В результате если аргумент функции равен "х", то функция возвращает шестнадцатеричное число от 0x0 до 0xF,
иначе возвращает число от 0x8 до 0xB.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.02.2013, 14:42

Генератор рандомных чисел
Нужен генератор случайных значений от 1 - 60 без использования PHP с кнопкой...

Генератор слов из txt
Всем доброй ночи! Помогите решить проблему нновичку. У меня есть txt файл на...

Сделать генератор сказок
Ввести данные в текстовые поля формы. При нажатии на кнопку сгенерировать,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru