Вход

Просмотр полной версии : Вывод случайных русских символов


Tearun
26.02.2017, 14:59
Всем доброго времени суток! Только начинаю осваивать js, сейчас пробую написать код, который бы выдавал случайные буквы в имеющиеся ячейки. С английским алфавитом это получилось, а вот как сделать с русским, - не понимаю. Подскажите, пожалуйста. И желательно не ссылками, тк я уже часа 2 по ним хожу, но понимания особо не прибавилось. Код ниже:

function starter(){
for(i=0;i<=8;i++){
var random=Math.random().toString(12).replace(/[^a-z]+/g, '').substr(0, 1).toUpperCase();
writeValue(i,random);
saver.push(random);
}
setTimeout(function(){
for(i=0;i<=8;i++){
writeValue(i,"&nbsp;");
}
}, 200);
}

рони
26.02.2017, 15:14
Tearun,
составить строку из русских букв и выбирать случайно

ruslan_mart
26.02.2017, 15:20
function getRandomInt(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}

function getRandomRUHash(max) {
var i, result = '';

for(i = 0; i < max; i++) {
result += String.fromCharCode(getRandomInt(1072, 1103));
}

return result.toUpperCase();
}


alert( getRandomRUHash(10) );

рони
26.02.2017, 15:34
:)
<script>
for(i=0;i<80;i++){
var random= "&#"+(1040 + Math.random()*32|0)+";";
document.write(random)
}
</script>

Paguo-86PK
26.02.2017, 16:00
Нa самом деле, на прошлой неделе ответ был дан (http://javascript.ru/forum/444580-post25.html)
<style>
#start,#finish {
color : grey;
}
</style>
<script>
String.prototype.random = function(n) {
var c = "", s = "", z = 999;
var re = new RegExp(this);
while(-- z && (!c.match(re) || (n -- && (s += c))))
c = String.fromCharCode(Math.random() * 4096 % 4096);
return s;
}
String.prototype.module = function() {
var a = [],
i = 0, j = 0,
c,
l = this.length,
m = -1, k = -1;
while(i < l) {
for(j = 0; j < 128; a[j ++] = true);
a[this.charCodeAt(j = i)] = false;
while(a[this.charCodeAt(j + 1)])
a[this.charCodeAt(++ j)] = false;
if(m < j - i)
k = i,
m = j - i;
++ i;
}
return this.substr(k, m + 1);
}
//
function Print() {
var str = document.getElementById("cond").value.random(document.getElementById("wide").value);
var s = str.module();
var i = str.indexOf(s);
document.getElementById("start").textContent = str.substring(0, i);
document.getElementById("key").textContent = s;
document.getElementById("finish").textContent = str.substring(i + s.length);
}
</script>
<body>
Ваш критерий
<input id=cond type=text value='[А-Яа-аЁё]' placeholder='Регулярное выражение' onChange='Print()' />
для
<input id=wide type=number min=1 max=96 value=48 onChange='Print()' /><a href='#' onmousemove='Print()'>Генерировать</a><br />
<span id=start></span><u id=key></u><span id=finish></span>
</body>