mark: Einfaches Randomize-String-Skript geht nicht

Beitrag lesen

@Gunnar:

Hätte man bei der ersten Schleife auch machen können, d.h. gleich mit 26³ multiplizieren und die Zahl in 3 Zeichen umwandeln. Das dürfte aber für dich komplizierter sein.

wie macht man das in Javascript. toString(36) liefert ja Zahlen und (!) Buchstaben.

@Bachforelle:

beide Beispiele sind an Gunnars Vorgaben angelehnt.

so:

<!DOCTYPE html>
<html>
<head>

<style type="text/css">
#bestellnummer{	
	width: 100%;
	height: 200px;
	font-size: 15em;
}
</style>

<script type='text/javascript'>
function printRandString(){
    var s = "";
	for (i=0;i<9;i++){
		var r = Math.random();
		if(i < 3){
			s += String.fromCharCode(65 + Math.floor(r * 26));
		}else if(i == 3){
			s += "-";
		}else if(i > 3){
			s += String.fromCharCode(48 + Math.floor(r * 10));
		}
    }
	
    document.getElementById("bestellnummer").value = s;
}


window.addEventListener("load", printRandString, false);
</script>

</head>

<body>
<textarea id="bestellnummer"></textarea>
</body>
</html>

oder so:

<!DOCTYPE html>
<html>
<head>

<style type="text/css">
#bestellnummer{	
	width: 100%;
	height: 200px;
	font-size: 15em;
}
</style>

<script type='text/javascript'>
function printRandString(){
	var rz = Math.random().toString().substr(2,5);
	var rb = Math.random().toString(36).replace(/\d/g,'').slice(-3).toUpperCase();
	
    document.getElementById("bestellnummer").value = rb + "-" + rz;
}

window.addEventListener("load", printRandString, false);
</script>

</head>

<body>
<textarea id="bestellnummer"></textarea>
</body>
</html>