Вывод случайных русских символов
Всем доброго времени суток! Только начинаю осваивать 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," "); } }, 200); } |
Tearun,
составить строку из русских букв и выбирать случайно |
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) ); |
:)
<script> for(i=0;i<80;i++){ var random= "&#"+(1040 + Math.random()*32|0)+";"; document.write(random) } </script> |
Нa самом деле, на прошлой неделе ответ был дан
<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> |
Часовой пояс GMT +3, время: 17:36. |