webForumDet fria alternativet

Slumpa ett tal och ett lösenord

9 svar · 635 visningar · startad av Smultron

SmultronMedlem sedan juli 2002423 inlägg
#1

Hejsan jag har ett problem, jag vill slumpa fram ett lösenord, och sen vill jag slumpa fram eller tal mellan 000 och 999, det skall alltså innehålla 3 siffor.

jag har gjort det i php men jag vill göra det med javascript om det är möjligt, här är koden för att göra de olika med php...

                // slumpa ett lösenord på 6 tecken
	$tecken = "abcdefghijklmnopqrstuvwxyz1234567890";
	$pass="";
	$i=1;
	while($i<=6)
	{
		$pass=$pass. substr($tecken,(mt_rand()%strlen($tecken)),1);
		$i++;
	}

                // slumpa ett tal mellan 000 och 999
                $talet= rand(000, 999);
JojoxxMedlem sedan juni 20004 308 inlägg
#2

Hej hej

// slumpa ett lösenord på 6 tecken
tecken = "abcdefghijklmnopqrstuvwxyz1234567890";
pass="";
for(var i=0;i<6;i++){
	pass=pass+tecken.charAt(Math.floor(Math.random()*tecken.length));
}
// slumpa ett tal mellan 000 och 999
talet=(""+Math.random()).substring(2,5)
SmultronMedlem sedan juli 2002423 inlägg
#3

thx

ptr_lksMedlem sedan juni 2005584 inlägg
#4

Frågor angående koden, tack

Hej,

Jojoxx skrev:

// slumpa ett lösenord på 6 tecken
tecken = "abcdefghijklmnopqrstuvwxyz1234567890";
pass="";
for(var i=0;i<6;i++){
pass=pass+tecken.charAt(Math.floor(Math.random()*tecken.length));
}

Betyder

*tecken.length

hur många tecken som skall räknas med?

colioneMedlem sedan juni 20014 421 inlägg
#5

Nej det är en del av slumpfunktionen.

for(var i=0;i<6;i++){

Bestämmer antalet tecken

ptr_lksMedlem sedan juni 2005584 inlägg
#6

Ok att det är en del av slumpfunktione, men vad betyder

Math.random()*tecken.length

översatt till "fikonspråk"?

Tack för ordet
/ptr

colioneMedlem sedan juni 20014 421 inlägg
#7

Math.random() ger ett random-nummer mellan 0-1. *tecken.length. Gångrar slumpade nummret med hur många tecken som finns i variabeln tecken.

math.floor som omger det hela tar heltalet från produkten.

ptr_lksMedlem sedan juni 2005584 inlägg
#8

tack för det :)
är/var redan bekant med

colione skrev:

Math.random() ger ett random-nummer mellan 0-1. math.floor som omger det hela tar heltalet från produkten.

Men vad är det för vits med

colione skrev:

*tecken.length

tack för ordet
/ptr

colioneMedlem sedan juni 20014 421 inlägg
#9

Annars får du bara ut ett tal som ser ut som: 0.325688542 eller: 0.99625443. Och det motsvarar ingen teckenplats i variabeln. Genom att ta det gånger tecken length så får du fram 0.325688542*34 (eftersom man börjar räkan på noll) = 11.07[....] och då plockar man 11 med floor.

Därefter så plockar man ut det 11:e tecknet i variabeln (med charAt) tecken och plusar på det i variabeln pass.

Erik JuhlinMedlem sedan maj 200010 687 inlägg
#10

colione skrev:

Math.random() ger ett random-nummer mellan 0-1.

Nja, Math.random() ger ett tal som är större än eller likamed 0 och mindre än 1. Kan alltså inte bli 1.
Annars hade Jojoxx kod buggat då och då... :)

133 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)