Fiddle with output
Template for writing a fiddle which can display a result, rather than having to output it to the console.
by Andreas Renberg
HTML
<pre id="output"></pre>
JavaScript
function out()
{
var args = Array.prototype.slice.call(arguments, 0);
document.getElementById('output').innerHTML += args.join(" ") + "\n";
}
var lowerLetters = "abcdefghijklmnopqrstuvwxyz";
var upperLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var numbers = "0123456789";
var symbols = "`~!@#$%^&*()_+-={}|[]\\:\";'<>?,./";
var allCharacters = lowerLetters + upperLetters + numbers + symbols;
String.prototype.randomChar = function() {
return this[Math.floor(this.length * Math.random())];
}
Array.prototype.shuffle = function() {
this.sort(function(item1, item2) {
return (Math.random() >= 0.5) ? 1 : -1;
//return .5 - Math.random();
})
}
var minLength = 15;
var result = [];
result.push(lowerLetters.randomChar());
result.push(upperLetters.randomChar());
result.push(numbers.randomChar());
result.push(symbols.randomChar());
while(result.length < minLength) {
result.push(allCharacters.randomChar());
}
result.shuffle();
out(result.join(""));