SmultronMedlem sedan juli 2002423 inlägg 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 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)
ptr_lksMedlem sedan juni 2005584 inlägg 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 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 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 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 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 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.
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å... :)